[PATCH] D69787: [DebugInfo] Support for DW_OP_implicit_pointer.

Alok Kumar Sharma via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 3 23:29:10 PST 2019


alok created this revision.
alok added reviewers: aprantl, probinson, dblaikie, jini.susan.george, SouraVX, labath.
Herald added subscribers: llvm-commits, asbirlea, hiraditya.
Herald added a project: LLVM.

This patch adds support for DW_OP_implicit_pointer.

This will enable debugger to show dereferenced value of optimized out pointer.
 It has been validated for SROA, mem2reg and Instruction-combiner optimizations.

This also fixes PR43289


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69787

Files:
  llvm/include/llvm/CodeGen/MachineInstr.h
  llvm/include/llvm/CodeGen/MachineInstrBuilder.h
  llvm/include/llvm/CodeGen/SelectionDAG.h
  llvm/include/llvm/IR/DebugInfoMetadata.h
  llvm/include/llvm/IR/Instruction.h
  llvm/include/llvm/IR/IntrinsicInst.h
  llvm/include/llvm/IR/Module.h
  llvm/include/llvm/IR/Value.h
  llvm/include/llvm/Transforms/Utils/Local.h
  llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h
  llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
  llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/CodeGen/LiveDebugValues.cpp
  llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
  llvm/lib/IR/DebugInfoMetadata.cpp
  llvm/lib/IR/Instruction.cpp
  llvm/lib/IR/IntrinsicInst.cpp
  llvm/lib/IR/Module.cpp
  llvm/lib/IR/Value.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/lib/Transforms/InstCombine/InstCombineInternal.h
  llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  llvm/lib/Transforms/Scalar/BDCE.cpp
  llvm/lib/Transforms/Scalar/DCE.cpp
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/lib/Transforms/Scalar/EarlyCSE.cpp
  llvm/lib/Transforms/Scalar/GVN.cpp
  llvm/lib/Transforms/Scalar/LICM.cpp
  llvm/lib/Transforms/Scalar/Reassociate.cpp
  llvm/lib/Transforms/Scalar/SROA.cpp
  llvm/lib/Transforms/Utils/CodeExtractor.cpp
  llvm/lib/Transforms/Utils/Local.cpp
  llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  llvm/test/DebugInfo/dwarfdump-implicit_pointer_instcomb.c
  llvm/test/DebugInfo/dwarfdump-implicit_pointer_mem2reg.c
  llvm/test/DebugInfo/dwarfdump-implicit_pointer_sroa.c
  llvm/test/DebugInfo/dwarfdump-implicit_pointer_sroa_inline.c
  llvm/unittests/Transforms/Utils/LocalTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69787.227649.patch
Type: text/x-patch
Size: 65647 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191104/23726aa0/attachment.bin>


More information about the llvm-commits mailing list