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

Alok Kumar Sharma via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 3 03:18:59 PST 2019


alok marked 2 inline comments as done.
alok added a comment.

In D70642#1765515 <https://reviews.llvm.org/D70642#1765515>, @aprantl wrote:

> 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.


Thanks for your comment. I shall look into it.



================
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)
 
----------------
aprantl wrote:
> 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
Thanks for your comment. It will be incorporated in next version.


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

https://reviews.llvm.org/D70642





More information about the llvm-commits mailing list