[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.

/jakob

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1929 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20101229/23d94be5/attachment.bin>


More information about the llvm-commits mailing list