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

Dan Gohman gohman at apple.com
Tue Mar 25 19:14:19 PDT 2008


Hi Evan,

This commit is causing a codegen abort in the attached testcase.
Can you take a look?

Thanks,

Dan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: r48752-regression.ll
Type: application/octet-stream
Size: 1169 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20080325/357c339c/attachment.obj>
-------------- next part --------------


On Mar 24, 2008, at 4:31 PM, Evan Cheng wrote:
> Author: evancheng
> Date: Mon Mar 24 18:31:21 2008
> New Revision: 48752
>
> URL: http://llvm.org/viewvc/llvm-project?rev=48752&view=rev
> Log:
> If the coalescer commuted a def MI to allow coalescing, it can  
> changed a previously coalesced copy into an non-identity copy.
>
> 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=48752&r1=48751&r2=48752&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp Mon Mar 24  
> 18:31:21 2008
> @@ -323,7 +323,8 @@
>     MachineInstr *UseMI = &*UI;
>     ++UI;
>     if (JoinedCopies.count(UseMI))
> -      continue;
> +      // It'll no longer be "joined" after the change.
> +      JoinedCopies.erase(UseMI);
>     unsigned UseIdx = li_->getInstructionIndex(UseMI);
>     LiveInterval::iterator ULR = IntA.FindLiveRangeContaining(UseIdx);
>     if (ULR->valno != AValNo)
>
>
> _______________________________________________
> 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