[PATCH] D70643: [DebugInfo] Support for DW_OP_implicit_pointer (DW_OP_LLVM_implicit_pointer)

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 3 07:55:15 PST 2019


jmorse added inline comments.


================
Comment at: llvm/docs/LangRef.rst:4825-4826
+- ``DW_OP_LLVM_implicit_pointer, DW_OP_LLVM_arg0 N`` can only appear at the
+  beginning of a ``DIExpression``, and it specifies the value of variable
+  represented by first operand at offset N.
 
----------------
IMHO, "variable represented by first operand" should become something like "the DILocalVariable referred to by the instructions value/address operand". This would make it clear that we're referring to a metadata node, and that the "first operand" is of the containing debug intrinsic, not a dwarf operators operand.


================
Comment at: llvm/lib/IR/DebugInfoMetadata.cpp:905
+      // A DW_OP_LLVM_implicit_pointer operator must appear at the beginning
+      return I == expr_op_begin();
+    }
----------------
Shouldn't this also check that the expression has the offset argument, and (as I understand it) no other elements?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70643





More information about the llvm-commits mailing list