[llvm-commits] [llvm] r106878 - /llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp

Evan Cheng evan.cheng at apple.com
Fri Jun 25 14:19:55 PDT 2010


Too late. Now we know you touched the coalescer last!

Evan

On Jun 25, 2010, at 1:44 PM, Bill Wendling wrote:

> This patch is from a suggestion by Jacob!
> 
> -bw
> 
> On Jun 25, 2010, at 1:42 PM, Bill Wendling wrote:
> 
>> Author: void
>> Date: Fri Jun 25 15:42:55 2010
>> New Revision: 106878
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=106878&view=rev
>> Log:
>> We should remove the live range from the destination register only if *all* defs
>> are dead, not just the def of this register. I.e., a register could be dead, but
>> it's subreg isn't.
>> 
>> Testcase to follow with a subsequent patch.
>> 
>> Modified:
>>   llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
>> 
>> Modified: llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp?rev=106878&r1=106877&r2=106878&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp Fri Jun 25 15:42:55 2010
>> @@ -1892,8 +1892,8 @@
>>        if (li_->hasInterval(SrcReg)) {
>>          LiveInterval &RegInt = li_->getInterval(SrcReg);
>>          // If def of this move instruction is dead, remove its live range
>> -          // from the dstination register's live interval.
>> -          if (MI->registerDefIsDead(DstReg)) {
>> +          // from the destination register's live interval.
>> +          if (MI->allDefsAreDead()) {
>>            if (!ShortenDeadCopySrcLiveRange(RegInt, MI))
>>              ShortenDeadCopyLiveRange(RegInt, MI);
>>          } else {
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list