summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineCombiner.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2017-03-16 16:34:14 +0000
committerAdrian Prantl <aprantl@apple.com>2017-03-16 16:34:14 +0000
commit8508e87998cefaa07fd48e78079dadbf80fc51d4 (patch)
tree3804b89b067f03df5c4a2302f4f08b5bdb038309 /llvm/lib/CodeGen/MachineCombiner.cpp
parent138a3faa3eada7b847e01ff026adc7f79bf69b6c (diff)
downloadbcm5719-llvm-8508e87998cefaa07fd48e78079dadbf80fc51d4.tar.gz
bcm5719-llvm-8508e87998cefaa07fd48e78079dadbf80fc51d4.zip
PR32288: More efficient encoding for DWARF expr subregister access.
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. rdar://problem/31069390 https://reviews.llvm.org/D31010 llvm-svn: 297960
Diffstat (limited to 'llvm/lib/CodeGen/MachineCombiner.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud