[PATCH] D26634: Make block placement determinisatic
Michael Kuperstein via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 14 14:22:08 PST 2016
mkuper added inline comments.
================
Comment at: lib/CodeGen/MachineBlockPlacement.cpp:1498
+ // matching clang binary in bootstrap build.
+ for (MachineBasicBlock &LoopBB : *F)
+ if (LoopBlockSet.count(&LoopBB))
----------------
davidxl wrote:
> This fix has compile time implication. Two alternatives:
> 1) make collectLoopBlockSet to also compute a vector of blocks in fixed order
> or
> 2) change BlockFilterSet to be a set of integers where the integer is MBB's unique id: getNumber()
Another alternative is to change BlockFilterSet to be a SetVector instead of a SmallPtrSet.
("The drawback of SetVector is that it requires twice as much space as a normal set and has the sum of constant factors from the set-like container and the sequential container that it uses. Use it only if you need to iterate over the elements in a deterministic order")
Or is it also too expensive in this case?
https://reviews.llvm.org/D26634
More information about the llvm-commits
mailing list