[PATCH] D70121: [WIP][DebugInfo][LDV] Attempt to teach LDV how to handle fragments
Adrian Prantl via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 12 09:23:14 PST 2019
aprantl added inline comments.
================
Comment at: llvm/lib/CodeGen/LiveDebugVariables.cpp:112
+ /// May return nullptr if this is a dummy value.
+ const DIExpression *expression() const { return Expression; }
+
----------------
getExpression
================
Comment at: llvm/lib/CodeGen/LiveDebugVariables.cpp:114
+
+ unsigned locNo() const { return LocNo; }
----------------
getLocNo
================
Comment at: llvm/lib/CodeGen/LiveDebugVariables.cpp:322
+/// A user value group contains the set of debug info user variables
+/// which refer to the same DILocalVariable in the same inlining scope.
+class UserValueGroup {
----------------
I don't know if this helps, but in other places we conceptually treat `std::pair<DILocalVariable *, FragmentInfo>` as unique "variables" and the remainder expression as part of a "location".
================
Comment at: llvm/lib/CodeGen/LiveDebugVariables.cpp:428
+ /// Map virtual register to UserValues which use it.
+ using VRMap = std::unordered_map<unsigned, SmallVector<UserValue *, 4>>;
+ VRMap VirtRegToUserVals;
----------------
Why this change?
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70121/new/
https://reviews.llvm.org/D70121
More information about the llvm-commits
mailing list