[llvm-commits] [PATCH] Accidental <kill> on two-address operand

Jakob Stoklund Olesen stoklund at 2pi.dk
Mon Aug 3 23:07:31 PDT 2009


On 02/08/2009, at 21.52, Eli Friedman wrote:

> On Sun, Aug 2, 2009 at 12:18 PM, Jakob Stoklund  
> Olesen<stoklund at 2pi.dk> wrote:
>> The generated code looks like this:
>>
>> %reg1032<def> = MOVENCC_z %reg1031<kill>
>> %reg1032<def> = BITTGL %reg1032, 0
>>
>> In this case a kill flag is also added to BITTGL, and
>> TwoAddressInstructionPass fails to remove it again. Probably because
>> it is expecting SSA code as input?
>
> AFAIK, all virtual registers are supposed to be SSA until the
> two-address pass runs.

I will have to create a new vreg in copyRegToReg then.

Is there some way of knowing if we are before or after the two-address  
pass?




More information about the llvm-commits mailing list