[PATCH] D70642: [DebugInfo] Support for DW_OP_implicit_pointer (DW_OP_LLVM_argN)

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 2 10:06:58 PST 2019


aprantl added a comment.

Thanks! This will need some bitcode-compatibility planning as well:

We'll need to bump the version number, and then in MetadataLoader.cpp / upradeDIExpression() add an a DW_OP_LLVM_arg0 at the beginning for all older versions.
This should be tested with a .bc file that contains an old-form DIExpression, run through llvm-dis | llvm-as | llvm-dis and checked that the expression is upgraded correctly.



================
Comment at: llvm/include/llvm/BinaryFormat/Dwarf.def:663
+HANDLE_DW_OP(0x4006, LLVM_arg6, 0, LLVM)
+HANDLE_DW_OP(0x4007, LLVM_arg7, 0, LLVM)
 
----------------
Since these extensions are only used inside LLVM IR, they shouldn't leak into dwarfdump & friends. Can you take a look at how DW_OP_LLVM_fragment is defined and copy that? I think it is hardcoded in Dwarf.cpp


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

https://reviews.llvm.org/D70642





More information about the llvm-commits mailing list