[PATCH] D74633: [LiveDebugValues] Visit open var locs just once in transferRegisterDef, NFC
Jeremy Morse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 17 06:16:13 PST 2020
jmorse accepted this revision.
jmorse added a comment.
This revision is now accepted and ready to land.
LGTM,
/me rustles around some drawers,
I've uploaded D74706 <https://reviews.llvm.org/D74706> which might be relevant to your interests. We've run into similar performance problems, but caused by hoards of DBG_VALUEs rather than by many clobbered registers, and indexing VarMap by machine location gave a significant compile-time performance improvement at the expense of some memory. I can prioritise getting it landed if you think it'd be useful.
Note that it doesn't address register masks, as we don't see many of those on x86.
================
Comment at: llvm/lib/CodeGen/LiveDebugValues.cpp:935
SparseBitVector<> KillSet;
+ // Reducing the number of inline elements in `DeadRegs` can regress compile
+ // time significantly, as we fall back to more expensive std::set::count()
----------------
Could we replace "inline" with "statically allocated" or something similar? Seeing "inline" here immediately makes me think of function-inlining (which is a relevant topic in LiveDebugValues), and confused me for a bit.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74633/new/
https://reviews.llvm.org/D74633
More information about the llvm-commits
mailing list