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. llvm-svn: 48777
This commit is contained in:
parent
4b55badc39
commit
883cbfd0ba
|
@ -222,11 +222,15 @@ X86InstrInfo::X86InstrInfo(X86TargetMachine &tm)
|
|||
{ 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 },
|
||||
|
|
|
@ -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* }
|
||||
|
||||
|
|
Loading…
Reference in New Issue