OSDN Git Service

[DebugInfo] Normalize common kinds of DWARF sub-expressions.
authorJonas Devlieghere <jonas@devlieghere.com>
Wed, 5 Sep 2018 10:18:36 +0000 (10:18 +0000)
committerJonas Devlieghere <jonas@devlieghere.com>
Wed, 5 Sep 2018 10:18:36 +0000 (10:18 +0000)
commit846d4ba8936132ff7774c0bc7a50caa849596f69
tree0057baed85f941a31c085fdb72b5a2ca74940579
parentc191ccbe1828e4d0d7c50084b96e9275f48ee887
[DebugInfo] Normalize common kinds of DWARF sub-expressions.

Normalize common kinds of DWARF sub-expressions to make debug info
encoding a bit more compact:

  DW_OP_constu [X < 32] -> DW_OP_litX
  DW_OP_constu [all ones] -> DW_OP_lit0, DW_OP_not (64-bit only)

Differential revision: https://reviews.llvm.org/D51640

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341457 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/CodeGen/AsmPrinter/DwarfExpression.cpp
lib/CodeGen/AsmPrinter/DwarfExpression.h
test/DebugInfo/AMDGPU/variable-locations.ll
test/DebugInfo/ARM/PR26163.ll
test/DebugInfo/ARM/split-complex.ll
test/DebugInfo/Generic/incorrect-variable-debugloc1.ll
test/DebugInfo/X86/PR26148.ll
test/DebugInfo/X86/constant-loclist.ll
test/DebugInfo/X86/dw_op_minus_direct.ll
test/DebugInfo/X86/partial-constant.ll
test/DebugInfo/X86/pieces-4.ll
test/DebugInfo/X86/split-global.ll
test/DebugInfo/X86/stack-value-dwarf4.ll
test/DebugInfo/X86/stack-value-piece.ll