[PATCH] D67225: [DebugInfo][X86] Describe call site values for zero-valued imms

David Stenberg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 6 02:04:56 PDT 2019


dstenb added inline comments.


================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:649
+    SmallVector<unsigned, 4> ExplicitDefs;
+    SmallVector<unsigned, 4> ImplicitDefs;
+    getForwardingRegsDefinedByMI(*I, ExplicitDefs, ImplicitDefs);
----------------
vsk wrote:
> Consider renaming these vectors with 's/Defs/ForwardedDefs/g'. This would clarify that these defs are both a) attached to I and b) forwarded.
I renamed them to the slightly shorter `FwdRegDefs` to avoid some awkward indentation due to >80 cols.


================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:656
     // all of them from the working list.
-    for (auto Reg : Defs)
+    for (auto Reg : ExplicitDefs)
       ForwardedRegWorklist.erase(Reg);
----------------
vsk wrote:
> auto Reg : concat<unsigned>(ExplicitDefs, ImplicitDefs) ?
Neat!


================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:665
+    // least partially) defined by the instruction's single explicit define.
+    if (I->getNumExplicitDefs() != 1 && ExplicitDefs.empty())
       continue;
----------------
vsk wrote:
> vsk wrote:
> > I think this is a reasonable limitation to enforce until we have a clearer picture of how to handle instructions with multiple forwarded defines.
> Should this be: I->getNumExplicitDefs() != 1 || ExplicitDefs.empty ?
Oh, yes. Thanks for catching that!


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

https://reviews.llvm.org/D67225





More information about the llvm-commits mailing list