Enable a bunch more -regalloc=fast tests
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 12 May 2010 00:11:24 +0000 (00:11 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 12 May 2010 00:11:24 +0000 (00:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103531 91177308-0d34-0410-b5e6-96231b3b80d8

15 files changed:
test/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll
test/CodeGen/PowerPC/2007-04-30-InlineAsmEarlyClobber.ll
test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert.ll
test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert2.ll
test/CodeGen/PowerPC/2008-02-09-LocalRegAllocAssert.ll
test/CodeGen/PowerPC/cr_spilling.ll
test/CodeGen/Thumb/2010-01-15-local-alloc-spill-physical.ll
test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll
test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll
test/CodeGen/X86/2008-04-15-LiveVariableBug.ll
test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll
test/CodeGen/X86/2008-09-17-inline-asm-1.ll
test/CodeGen/X86/2008-09-18-inline-asm-2.ll
test/CodeGen/X86/2009-01-29-LocalRegAllocBug.ll
test/CodeGen/X86/2009-04-14-IllegalRegs.ll

index 4b332b32cf124d722d0c9edce4664bd29efa6a48..d5a4d6ade7be0e5dd6b94233e5fc245b8f23969e 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -regalloc=local
+; RUN: llc < %s -regalloc=fast
        
 %struct.CHESS_POSITION = type { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i8, i8, [64 x i8], i8, i8, i8, i8, i8 }
 @search = external global %struct.CHESS_POSITION               ; <%struct.CHESS_POSITION*> [#uses=2]
index be28a9a4542b98be41186c9bca58edfb528b3465..0a75f7a7770142b38a595536f724145a8f8eacb0 100644 (file)
@@ -1,9 +1,15 @@
-; RUN: llc < %s | grep {subfc r3,r5,r4}
-; RUN: llc < %s | grep {subfze r4,r6}
-; RUN: llc < %s -regalloc=local | grep {subfc r6,r5,r4}
-; RUN: llc < %s -regalloc=local | grep {subfze r3,r3}
+; RUN: llc < %s | FileCheck %s
+; RUN: llc < %s -regalloc=local | FileCheck -check-prefix=LOCAL %s
+; RUN: llc < %s -regalloc=fast | FileCheck -check-prefix=FAST %s
 ; The first argument of subfc must not be the same as any other register.
 
+; CHECK: subfc r3,r5,r4
+; CHECK: subfze r4,r6
+; LOCAL: subfc r6,r5,r4
+; LOCAL: subfze r3,r3
+; FAST: subfc r9,r8,r7
+; FAST: subfze r10,r6
+
 ; PR1357
 
 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
index ee614782952df353170d12d164ef973a79ed2686..3cfe60301ecc60cfc6aaf32ee8ef50443925121e 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=powerpc64-apple-darwin9 -regalloc=local -relocation-model=pic
+; RUN: llc < %s -mtriple=powerpc64-apple-darwin9 -regalloc=fast -relocation-model=pic
 
        %struct.NSError = type opaque
        %struct.NSManagedObjectContext = type opaque
index 5a07a9b7acf013aa6917ae74af12aa77d7d5c66f..8339a0b879033e17fedb7a8f11dc5ad3fc47461c 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=powerpc64-apple-darwin9 -regalloc=local -relocation-model=pic
+; RUN: llc < %s -mtriple=powerpc64-apple-darwin9 -regalloc=fast -relocation-model=pic
 
        %struct.NSError = type opaque
        %struct.NSManagedObjectContext = type opaque
index cfa1b10d32ee0644f11c7fb110f194bfa13873bb..45dfdc842fdfdac86a55e5786f7fd408c92a86d9 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=powerpc-apple-darwin -regalloc=local
+; RUN: llc < %s -mtriple=powerpc-apple-darwin -regalloc=fast
 
 define i32 @bork(i64 %foo, i64 %bar) {
 entry:
index b21586873612a233d335e49dc7a6f51df8ee0fac..9ed26149b7797f6aca681b3d2127d47e081583f3 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -march=ppc32 -regalloc=local -O0 -relocation-model=pic -o -
+; RUN: llc < %s -march=ppc32 -regalloc=fast -O0 -relocation-model=pic -o -
 ; PR1638
 
 @.str242 = external constant [3 x i8]          ; <[3 x i8]*> [#uses=1]
index d676369020acd0f9dcecd37a5ce00613cfa15b7a..300e66c0f1b2d8c1765b8fe2aaf6de988e16692f 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -regalloc=local -relocation-model=pic | FileCheck %s
+; RUN: llc < %s -regalloc=fast -relocation-model=pic | FileCheck %s
 
 target triple = "thumbv6-apple-darwin10"
 
@@ -6,10 +7,10 @@ target triple = "thumbv6-apple-darwin10"
 
 define arm_apcscc void @foo() nounwind {
 entry:
-; CHECK: str r0, [sp]
+; CHECK: str r0, [sp
   %0 = call arm_apcscc  i32 (...)* @bar() nounwind ; <i32> [#uses=1]
 ; CHECK: blx _bar
-; CHECK: ldr r1, [sp]
+; CHECK: ldr r1, [sp
   store i32 %0, i32* @fred, align 4
   br label %return
 
index d795610607ee68a3c840dc0f8ad17f50db866c42..8aabb528a49c741cfae63fb0a93134fbc0d61ea1 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -march=x86 -mattr=+sse2 -regalloc=local
+; RUN: llc < %s -march=x86 -mattr=+sse2 -regalloc=fast
 
 define void @SolveCubic(double %a, double %b, double %c, double %d, i32* %solutions, double* %x) {
 entry:
index 6b1eefe5750a07df0d18bfe29333069bb97430bd..d294885f8255469a09313cce28ada822b62d7566 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -regalloc=local -march=x86 -mattr=+mmx | grep esi
+; RUN: llc < %s -regalloc=fast -march=x86 -mattr=+mmx | grep esi
 ; PR2082
 ; Local register allocator was refusing to use ESI, EDI, and EBP so it ran out of
 ; registers.
index 2aea9c5ebcc4fdfde8dd27800d53b32eac779df4..716563b158116cb36311a91b2b9179bcfec74628 100644 (file)
@@ -1,5 +1,6 @@
 ; RUN: llc < %s -mtriple=x86_64-apple-darwin
 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -relocation-model=pic -disable-fp-elim -O0 -regalloc=local
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -relocation-model=pic -disable-fp-elim -O0 -regalloc=fast
 ; PR5534
 
        %struct.CGPoint = type { double, double }
index f1a19ec147a89baf356f99f0e1d83ce4d7882f9b..5929aff3da5561cf3458f47aecb4306e6eba3847 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=i386-apple-darwin -regalloc=local
+; RUN: llc < %s -mtriple=i386-apple-darwin -regalloc=fast
 
 @_ZTVN10Evaluation10GridOutputILi3EEE = external constant [5 x i32 (...)*]             ; <[5 x i32 (...)*]*> [#uses=1]
 
index 74429c382e71ea1c5e3c54229f27a6eb81c3fd53..dd8333608260471d297ff5972448d03fc2ef349e 100644 (file)
@@ -1,18 +1,19 @@
-; RUN: llc < %s -march=x86 | not grep "movl %eax, %eax"
-; RUN: llc < %s -march=x86 | not grep "movl %edx, %edx"
-; RUN: llc < %s -march=x86 | not grep "movl (%eax), %eax"
-; RUN: llc < %s -march=x86 | not grep "movl (%edx), %edx"
-; RUN: llc < %s -march=x86 -regalloc=local | not grep "movl %eax, %eax"
-; RUN: llc < %s -march=x86 -regalloc=local | not grep "movl %edx, %edx"
-; RUN: llc < %s -march=x86 -regalloc=local | not grep "movl (%eax), %eax"
-; RUN: llc < %s -march=x86 -regalloc=local | not grep "movl (%edx), %edx"
+; RUN: llc < %s -march=x86 | FileCheck %s
+; RUN: llc < %s -march=x86 -regalloc=local | FileCheck %s
+; RUN: llc < %s -march=x86 -regalloc=fast | FileCheck %s
 
 ; %0 must not be put in EAX or EDX.
 ; In the first asm, $0 and $2 must not be put in EAX.
+; CHECK: InlineAsm Start
+; CHECK-NOT: movl %eax, %eax
+; CHECK-NOT: movl (%eax), %eax
+; CHECK: InlineAsm End
 ; In the second asm, $0 and $2 must not be put in EDX.
-; This is kind of hard to test thoroughly, but the things above should continue
-; to pass, I think.
-; ModuleID = '<stdin>'
+; CHECK: InlineAsm Start
+; CHECK-NOT: movl %edx, %edx
+; CHECK-NOT: movl (%edx), %edx
+; CHECK: InlineAsm End
+
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 target triple = "i386-apple-darwin8"
 @x = common global i32 0               ; <i32*> [#uses=1]
index e3b6fdf5113a28f0870bfd05eae2d893cf04e499..5a1ca884982be8a642845d2c354755b6f1cd92a7 100644 (file)
@@ -1,5 +1,7 @@
 ; RUN: llc < %s -march=x86 | grep "#%ebp %esi %edi 8(%edx) %eax (%ebx)"
 ; RUN: llc < %s -march=x86 -regalloc=local | grep "#%edi %ebp %edx 8(%ebx) %eax (%esi)"
+; RUN: llc < %s -march=x86 -regalloc=fast  | grep "#%ecx %ebx %edi 8(%ebp) %eax (%esi)"
+
 ; The 1st, 2nd, 3rd and 5th registers above must all be different.  The registers
 ; referenced in the 4th and 6th operands must not be the same as the 1st or 5th
 ; operand.  There are many combinations that work; this is what llc puts out now.
index ce3ea828ec0c56a551e831bf30dde82460d7603b..21b43fb2ddb0ed6fb34a0f1920ada5c8b754a543 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=i386-apple-darwin9.6 -regalloc=local -disable-fp-elim
+; RUN: llc < %s -mtriple=i386-apple-darwin9.6 -regalloc=fast -disable-fp-elim
 ; rdar://6538384
 
        %struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
index bfa3eaa565dfae0c8e259fc3da725c13f511370a..e5d46f98fc2d33e384de6318122f9086efee274e 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=i386-apple-darwin -O0 -regalloc=local | not grep sil
+; RUN: llc < %s -mtriple=i386-apple-darwin -O0 -regalloc=fast | not grep sil
 ; rdar://6787136
 
        %struct.X = type { i8, [32 x i8] }