OSDN Git Service

Fix an assertion in DwarfExpression when emitting fragments in vector registers
authorAdrian Prantl <aprantl@apple.com>
Thu, 22 Dec 2016 06:10:41 +0000 (06:10 +0000)
committerAdrian Prantl <aprantl@apple.com>
Thu, 22 Dec 2016 06:10:41 +0000 (06:10 +0000)
commitfddea6af8da67dbdbd450ed8092f0f8bae12d93b
tree98b0b4cf98ab5998c81e3b5117cac6445e52042d
parentf53a7ab5bb46094b913dae385ed2fef085d0bfbf
Fix an assertion in DwarfExpression when emitting fragments in vector registers

When DwarfExpression is emitting a fragment that is located in a
register and that fragment is smaller than the register, and the
register must be composed from sub-registers (are you still with me?)
the last DW_OP_piece operation must not be larger than the size of the
fragment itself, since the last piece of the fragment could be smaller
than the last subregister that is being emitted.

rdar://problem/29779065

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290324 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfExpression.cpp
lib/CodeGen/AsmPrinter/DwarfExpression.h
test/DebugInfo/ARM/partial-subreg.ll [new file with mode: 0644]