forked from OSchip/llvm-project
981f03e6a2
Citing http://bugs.llvm.org/show_bug.cgi?id=32288 The DWARF generated by LLVM includes this location: 0x55 0x93 0x04 DW_OP_reg5 DW_OP_piece(4) When GCC's DWARF is simply 0x55 (DW_OP_reg5) without the DW_OP_piece. I believe it's reasonable to assume the DWARF consumer knows which part of a register logically holds the value (low bytes, high bytes, how many bytes, etc) for a primitive value like an integer. This patch gets rid of the redundant DW_OP_piece when a subregister is at offset 0. It also adds previously missing subregister masking when a subregister is followed by another operation. (This reapplies r297960 with two additional testcase updates). rdar://problem/31069390 https://reviews.llvm.org/D31010 llvm-svn: 297965 |
||
---|---|---|
.. | ||
PR16736.ll | ||
PR26163.ll | ||
big-endian-bitfield.ll | ||
big-endian-dump.ll | ||
bitfield.ll | ||
cfi-eof-prologue.ll | ||
constant-dbgloc.ll | ||
float-args.ll | ||
header.ll | ||
line.test | ||
lit.local.cfg | ||
little-endian-dump.ll | ||
lowerbdgdeclare_vla.ll | ||
multiple-constant-uses-drops-dbgloc.ll | ||
partial-subreg.ll | ||
processes-relocations.ll | ||
prologue_end.ll | ||
s-super-register.ll | ||
selectiondag-deadcode.ll | ||
single-constant-use-preserves-dbgloc.ll | ||
split-complex.ll | ||
sroa-complex.ll | ||
tls.ll |