[PATCH] D56587: Fix sign/zero extension in Dwarf expressions.

Markus Lavin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 5 07:17:40 PST 2019


markus updated this revision to Diff 185303.
markus added a comment.

  Dwarf5 DW_OP_convert support.
  
  - Extend DIExpression to accept MDNode (really DIBasicType) operands.
  Since we are keeping references to the MDNodes outside the "Metadata
  machinery" we need to be careful and use TrackingMDNodeRef to support
  any RAUW operations that might happen during e.g. IR import of a
  forward-reference.
  
  - Modify replaceAllDbgUsesWith to generate dwarf::DW_OP_convert
  operations. These ops need to reference a DIBasicType and hence uses the
  support from the previous bullet point.
  
  - Update AsmPrinter to allow DIExpressions (emitted in .debug_loc) to
  reference DIBasicTypes (emitted in .debug_info). Various MCSymbols are
  emitted to realize the references.




Not at all ready but as it looks right now would these changes be considered to be heading in the right direction?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56587/new/

https://reviews.llvm.org/D56587

Files:
  include/llvm/CodeGen/DIE.h
  include/llvm/IR/DIBuilder.h
  include/llvm/IR/DebugInfoMetadata.h
  lib/AsmParser/LLParser.cpp
  lib/Bitcode/Reader/MetadataLoader.cpp
  lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
  lib/CodeGen/AsmPrinter/DIEHash.cpp
  lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  lib/CodeGen/AsmPrinter/DwarfDebug.h
  lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  lib/CodeGen/AsmPrinter/DwarfExpression.h
  lib/CodeGen/MIRParser/MIParser.cpp
  lib/IR/AsmWriter.cpp
  lib/IR/DIBuilder.cpp
  lib/IR/DebugInfoMetadata.cpp
  lib/IR/LLVMContextImpl.h
  lib/IR/Metadata.cpp
  lib/Transforms/Utils/Local.cpp
  test/DebugInfo/X86/dwarf-pubnames-split.ll
  test/Transforms/InstCombine/cast-set-preserve-signed-dbg-val.ll
  unittests/Transforms/Utils/LocalTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56587.185303.patch
Type: text/x-patch
Size: 35779 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190205/80cd8504/attachment.bin>


More information about the llvm-commits mailing list