]> granicus.if.org Git - llvm/commitdiff
FileCheck-ize some tests in test/CodeGen/X86/
authorChandler Carruth <chandlerc@gmail.com>
Fri, 17 Feb 2017 00:29:59 +0000 (00:29 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 17 Feb 2017 00:29:59 +0000 (00:29 +0000)
Patch by Jorge Gorbe!

Differential Revision: https://reviews.llvm.org/D29807

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295386 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/2003-11-03-GlobalBool.ll
test/CodeGen/X86/2004-02-13-FrameReturnAddress.ll
test/CodeGen/X86/2004-02-14-InefficientStackPointer.ll
test/CodeGen/X86/2005-01-17-CycleInDAG.ll
test/CodeGen/X86/2005-02-14-IllegalAssembler.ll
test/CodeGen/X86/2006-01-19-ISelFoldingBug.ll

index f201b981a87201a4e1cecf47799cbe8588cde74f..e0d4988abbf7fe3be7cebc9b346870e657775e60 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=x86 | \
-; RUN:   not grep ".byte[[:space:]]*true"
+; RUN: llc < %s -march=x86 | FileCheck %s
 
-@X = global i1 true             ; <i1*> [#uses=0]
+@X = global i1 true
+; CHECK-NOT: .byte true
index dde210b776af79220537c933af300a8c1c0fc727..bd3317a68b8c734a21a3eb57efa658e770cbd49f 100644 (file)
@@ -1,18 +1,23 @@
-; RUN: llc < %s -march=x86 | grep "(%esp"
-; RUN: llc < %s -march=x86 | grep "pushl       %ebp" | count 1
-; RUN: llc < %s -march=x86 | grep "popl        %ebp" | count 1
+; RUN: llc < %s -march=x86 | FileCheck %s
 
 declare i8* @llvm.returnaddress(i32)
 
 declare i8* @llvm.frameaddress(i32)
 
 define i8* @test1() {
-        %X = call i8* @llvm.returnaddress( i32 0 )              ; <i8*> [#uses=1]
-        ret i8* %X
+; CHECK-LABEL: test1:
+entry:
+  %X = call i8* @llvm.returnaddress( i32 0 )
+  ret i8* %X
+; CHECK: movl {{.*}}(%esp), %eax
 }
 
 define i8* @test2() {
-        %X = call i8* @llvm.frameaddress( i32 0 )               ; <i8*> [#uses=1]
-        ret i8* %X
+; CHECK-LABEL: test2:
+entry:
+  %X = call i8* @llvm.frameaddress( i32 0 )
+  ret i8* %X
+; CHECK: pushl %ebp
+; CHECK: popl %ebp
 }
 
index f986ebd35f85edc71df0a860e931dbf2568b4be6..d7f7e262d89345c5d57d0208364b8da4a9346d83 100644 (file)
@@ -1,5 +1,10 @@
-; RUN: llc < %s -march=x86 | grep -i ESP | not grep sub
+; RUN: llc < %s -march=x86 | FileCheck %s
+
+target triple = "i686-unknown-unknown"
 
 define i32 @test(i32 %X) {
-        ret i32 %X
+; CHECK-LABEL: test:
+entry:
+  ret i32 %X
+; CHECK-NOT: subl %esp
 }
index 48236cd0c8fe5039cb57cd1c96cc8f17361ce55f..7bb634d97130ba69f7b7517bfc6d82740c50d82f 100644 (file)
@@ -3,15 +3,18 @@
 ; is invalid code (there is no correct way to order the instruction).  Check
 ; that we do not fold the load into the sub.
 
-; RUN: llc < %s -march=x86 | not grep sub.*GLOBAL
+; RUN: llc < %s -march=x86 | FileCheck %s
 
-@GLOBAL = external global i32           ; <i32*> [#uses=1]
+@GLOBAL = external global i32
 
 define i32 @test(i32* %P1, i32* %P2, i32* %P3) nounwind {
-        %L = load i32, i32* @GLOBAL          ; <i32> [#uses=1]
-        store i32 12, i32* %P2
-        %Y = load i32, i32* %P3              ; <i32> [#uses=1]
-        %Z = sub i32 %Y, %L             ; <i32> [#uses=1]
-        ret i32 %Z
+; CHECK-LABEL: test:
+entry:
+  %L = load i32, i32* @GLOBAL
+  store i32 12, i32* %P2
+  %Y = load i32, i32* %P3
+  %Z = sub i32 %Y, %L
+  ret i32 %Z
+; CHECK-NOT: {{sub.*GLOBAL}}
 }
 
index a05fc840922ffedb75d58ca180874dfaf7edbfdd..1e3a0937d5b1f3d56a4f2402525de9e039509a5e 100644 (file)
@@ -1,5 +1,6 @@
-; RUN: llc < %s -march=x86 | not grep 18446744073709551612
+; RUN: llc < %s -march=x86 | FileCheck %s
 
 @A = external global i32                ; <i32*> [#uses=1]
 @Y = global i32* getelementptr (i32, i32* @A, i32 -1)                ; <i32**> [#uses=0]
+; CHECK-NOT: 18446744073709551612
 
index f6b5b2c103fe448e7b2db65e482f75c000577bde..7e607dc0763a096ab252722886fbb8725c2dc171 100644 (file)
@@ -1,20 +1,29 @@
-; RUN: llc < %s -march=x86 -mcpu=generic | \
-; RUN:   grep shld | count 1
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -march=x86 -mcpu=generic | FileCheck %s
 ;
 ; Check that the isel does not fold the shld, which already folds a load
 ; and has two uses, into a store.
 
-@A = external global i32                ; <i32*> [#uses=2]
+@A = external global i32
 
 define i32 @test5(i32 %B, i8 %C) {
-        %tmp.1 = load i32, i32* @A           ; <i32> [#uses=1]
-        %shift.upgrd.1 = zext i8 %C to i32              ; <i32> [#uses=1]
-        %tmp.2 = shl i32 %tmp.1, %shift.upgrd.1         ; <i32> [#uses=1]
-        %tmp.3 = sub i8 32, %C          ; <i8> [#uses=1]
-        %shift.upgrd.2 = zext i8 %tmp.3 to i32          ; <i32> [#uses=1]
-        %tmp.4 = lshr i32 %B, %shift.upgrd.2            ; <i32> [#uses=1]
-        %tmp.5 = or i32 %tmp.4, %tmp.2          ; <i32> [#uses=2]
-        store i32 %tmp.5, i32* @A
-        ret i32 %tmp.5
+; CHECK-LABEL: test5:
+; CHECK:       # BB#0:
+; CHECK-NEXT:    movb {{[0-9]+}}(%esp), %cl
+; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT:    movl A, %eax
+; CHECK-NEXT:    shldl %cl, %edx, %eax
+; CHECK-NEXT:    movl %eax, A
+; CHECK-NEXT:    retl
+entry:
+  %tmp.1 = load i32, i32* @A
+  %shift.upgrd.1 = zext i8 %C to i32
+  %tmp.2 = shl i32 %tmp.1, %shift.upgrd.1
+  %tmp.3 = sub i8 32, %C
+  %shift.upgrd.2 = zext i8 %tmp.3 to i32
+  %tmp.4 = lshr i32 %B, %shift.upgrd.2
+  %tmp.5 = or i32 %tmp.4, %tmp.2
+  store i32 %tmp.5, i32* @A
+  ret i32 %tmp.5
 }