[llvm-commits] [llvm] r82968 - in /llvm/trunk: lib/CodeGen/SimpleRegisterCoalescing.cpp test/CodeGen/ARM/2009-09-27-CoalescerBug.ll test/CodeGen/Blackfin/2009-08-15-LiveIn-SubReg.ll test/CodeGen/X86/sink-hoist.ll

Evan Cheng evan.cheng at apple.com
Sun Sep 27 23:02:46 PDT 2009


On Sep 27, 2009, at 10:52 PM, Jakob Stoklund Olesen wrote:

>
> On 28/09/2009, at 07.28, Evan Cheng wrote:
>>
>> Coalescer should not delete extract_subreg, insert_subreg, and  
>> subreg_to_reg of
>> physical registers. This is especially critical for the later two  
>> since they
>> start the live interval of a super-register. e.g.
>> %DO<def> = INSERT_SUBREG %D0<undef>, %S0<kill>, 1
>> If this instruction is eliminated, the register scavenger will not  
>> be happy as
>> D0 is not defined previously.
>> This fixes PR5055.
>
> Right. It should be harmless to leave them for LowerSubreg.
>
> Are we aiming to introduce the KILL instruction in a 2.7 time frame?  
> It seems like a simple operation to me.

It would be a nice clean up. If I (or someone else) have the time, I  
would like to get it in sooner rather than later.

Evan

>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- llvm/trunk/test/CodeGen/Blackfin/2009-08-15-LiveIn-SubReg.ll  
>> (original)
>> +++ llvm/trunk/test/CodeGen/Blackfin/2009-08-15-LiveIn-SubReg.ll  
>> Mon Sep 28 00:28:43 2009
>> @@ -1,5 +1,4 @@
>> ; RUN: llc < %s -march=bfin -verify-machineinstrs
>> -; XFAIL: *
>
> Awesome!
>




More information about the llvm-commits mailing list