[llvm-commits] [llvm] r48777 - in /llvm/trunk: lib/Target/X86/X86InstrInfo.cpp test/CodeGen/X86/2008-01-08-SchedulerCrash.ll

Evan Cheng evan.cheng at apple.com
Tue Mar 25 11:13:00 PDT 2008


Nice catch! Thanks Dan.

Evan

On Mar 25, 2008, at 9:53 AM, Dan Gohman wrote:

> Author: djg
> Date: Tue Mar 25 11:53:19 2008
> New Revision: 48777
>
> URL: http://llvm.org/viewvc/llvm-project?rev=48777&view=rev
> Log:
> Add CMP32mr and friends to the load-unfolding table. Among
> other things, this allows the scheduler to unfold a load operand
> in the 2008-01-08-SchedulerCrash.ll testcase, so it now successfully
> clones the comparison to avoid a pushf+popf.
>
> Modified:
>    llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
>    llvm/trunk/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll
>
> Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=48777&r1=48776&r2=48777&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Tue Mar 25 11:53:19  
> 2008
> @@ -222,11 +222,15 @@
>     { X86::CALL64r,     X86::CALL64m, 1 },
>     { X86::CMP16ri,     X86::CMP16mi, 1 },
>     { X86::CMP16ri8,    X86::CMP16mi8, 1 },
> +    { X86::CMP16rr,     X86::CMP16mr, 1 },
>     { X86::CMP32ri,     X86::CMP32mi, 1 },
>     { X86::CMP32ri8,    X86::CMP32mi8, 1 },
> +    { X86::CMP32rr,     X86::CMP32mr, 1 },
>     { X86::CMP64ri32,   X86::CMP64mi32, 1 },
>     { X86::CMP64ri8,    X86::CMP64mi8, 1 },
> +    { X86::CMP64rr,     X86::CMP64mr, 1 },
>     { X86::CMP8ri,      X86::CMP8mi, 1 },
> +    { X86::CMP8rr,      X86::CMP8mr, 1 },
>     { X86::DIV16r,      X86::DIV16m, 1 },
>     { X86::DIV32r,      X86::DIV32m, 1 },
>     { X86::DIV64r,      X86::DIV64m, 1 },
>
> Modified: llvm/trunk/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll?rev=48777&r1=48776&r2=48777&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll  
> (original)
> +++ llvm/trunk/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll Tue Mar  
> 25 11:53:19 2008
> @@ -1,4 +1,4 @@
> -; RUN: llvm-as < %s | llc -march=x86
> +; RUN: llvm-as < %s | llc -march=x86 | not grep pushf
>
> 	%struct.indexentry = type { i32, i8*, i8*, i8*, i8*, i8* }
>
>
>
> _______________________________________________
> 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