[PATCH] D111688: [MachineSink] Compile time improvement for large testcases which has many kill flags We did a experiment and observed dramatic decrease on compilation time which spent on clearing kill flags.
Matthias Braun via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 13 10:55:51 PDT 2021
MatzeB added a comment.
huh... I guess the problem here was that we interpreted the register numbers as plain unsigned... And virtual registers always have bit 31 set, so I guess the bitset could indeed grow to unreasonable sizes.
- Please try if `DenseSet<Register>` works too.
- If you can please find a shorter more succinct title.
Then we should be good to land this.
================
Comment at: llvm/lib/CodeGen/MachineSink.cpp:134
- SparseBitVector<> RegsToClearKillFlags;
+ DenseSet<unsigned> RegsToClearKillFlags;
----------------
Does `DenseSet<Register>` work too? (if it does not then I'm fine with this).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111688/new/
https://reviews.llvm.org/D111688
More information about the llvm-commits
mailing list