[PATCH] D88589: [DebugInfo] Handle dbg.values with multiple variable location operands in ISel

Stephen Tozer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 10 09:46:29 PST 2020


StephenTozer added inline comments.


================
Comment at: llvm/include/llvm/CodeGen/SelectionDAG.h:1546
 
+  /// Creates a SDDbgValue node from a list of locations.
+  SDDbgValue *getDbgValueList(DIVariable *Var, DIExpression *Expr,
----------------
aprantl wrote:
> It would be nice if we can find a less overloaded term than "locations". Perhaps just call them straight `DW_OP_LLVM_args`?
"Location Operands" is one more-specific term that has been used, although in this case we could also just say "from a list of SDDbgOperands", or "from a list of machine locations". 


================
Comment at: llvm/include/llvm/CodeGen/SelectionDAG.h:1499
+                              ArrayRef<SDNode *> Dependencies, bool IsIndirect,
+                              const DebugLoc &DL, unsigned O, bool IsVariadic);
+
----------------
aprantl wrote:
> is IsVariadic the same as `Locs.size() > 1`?
No; IsVariadic refers to whether or not this debug value uses a list of operands, even if it's a list with 1 element, so that we always map `dbg.value(metadata <value>, ...)` to `DBG_VALUE`, and `dbg.value(metadata !DIArgList(<value>), ...)` to `DBG_VALUE_LIST`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88589



More information about the llvm-commits mailing list