[llvm-commits] [llvm] r122596 - /llvm/trunk/lib/CodeGen/StrongPHIElimination.cpp

Jakob Stoklund Olesen stoklund at 2pi.dk
Tue Dec 28 15:08:16 PST 2010

On Dec 28, 2010, at 1:38 PM, Cameron Zwarich wrote:

> On Dec 28, 2010, at 1:28 PM, Jakob Stoklund Olesen wrote:
>> On Dec 28, 2010, at 1:03 PM, Cameron Zwarich wrote:
>>> What's the format of variadic instructions? Wouldn't all of the explicit defs appear at the front?
>> No, they look like:
>>  <fixed defs>, <fixed uses>, <variadic ops...>, <implicit ops>
>> The variadic operands can be uses or defs. For instance, ARM's LDM instructions have a variable number of defs.
> Ah, okay. I could check whether the instruction is variadic before bailing out early after the last explicit def, but maybe I should just roll it out for now. 28% is a nice speedup though. ;-)

Maybe you are going about this the wrong way. The majority of virtual registers are never involved with PHIs, so StrongPHIElimination shouldn't have to look at them at all. Yet, here you are iterating over all operands in the machine code.

Perhaps you could keep track of the virtual registers that are used or defined by PHI instructions and use their use-def chains instead?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20101228/f0f5ac27/attachment.html>
-------------- 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/20101228/f0f5ac27/attachment.bin>

More information about the llvm-commits mailing list