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

Bill Wendling wendling at apple.com
Fri Jun 25 14:24:34 PDT 2010


That's okay. It's simple, right? ;-)

-bw

On Jun 25, 2010, at 2:19 PM, Evan Cheng wrote:

> 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