[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