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)
commit5542da4bbce35f0c54e0d558368d552e1ca023e3
treecdba06f4d7fd53603379298d2b28560a646785eb
parent96aff3751f4dc93e5526767562c98df1a465e031
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

llvm-svn: 290324
llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
llvm/test/DebugInfo/ARM/partial-subreg.ll [new file with mode: 0644]