[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