[llvm-commits] [llvm] r122627 - /llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Wed Dec 29 18:39:26 PST 2010
On Dec 29, 2010, at 4:36 PM, Cameron Zwarich wrote:
>> How does strong phi elimination affect the runtime of coalescing?
> It doesn't reduce it as much as I would like. On 403.gcc, coalescing takes up 4.0-4.1% of compile time with normal PHIElimination, and it goes down to 3.9% with StrongPHIElimination. StrongPHIElimination is getting fast enough that total compile time is just noise, but I'd like to investigate why there isn't as much of a speedup in coalescing as I would expect.
You may want to get some numbers from the ARM target as well. X86 has lots of copies from two-address instructions.
> There are a couple of other possible speedups:
> 1) Sorting the entire basic block isn't really necessary, it should just be enough to do a few comparisons when things interfere.
> 2) I'm using the simple theoretically optimal union-find. There are faster versions that are slightly less optimal.
You could probably save some code size by using ADT/EquivalenceClasses.h. I don't know how that implementation performs, though.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1929 bytes
Desc: not available
More information about the llvm-commits