[PATCH] D63429: [DebugInfo] Avoid adding too much indirection to pointer-valued variables

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 10:11:20 PDT 2019


aprantl added inline comments.


================
Comment at: lib/CodeGen/PrologEpilogInserter.cpp:1191
+        unsigned PrependFlags = DIExpression::ApplyOffset;
+        if (!MI.isIndirectDebugValue() && DIExpr->getNumElements() == 0)
+          PrependFlags |= DIExpression::StackValue;
----------------
The only thing I'm concerned about is the `DIExpr->getNumElements() == 0`. This sounds like it would also reject other cases where we'd want this to apply, such as an expression that only contains a `DW_OP_LLVM_fragment`. Is there a better condition? Perhaps by inverting it? What's an example of an expression where we don't want this to happen?


Repository:
  rL LLVM

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

https://reviews.llvm.org/D63429





More information about the llvm-commits mailing list