[llvm] r276147 - minimize tests and auto-generate checks

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 20 10:58:20 PDT 2016


Author: spatel
Date: Wed Jul 20 12:58:20 2016
New Revision: 276147

URL: http://llvm.org/viewvc/llvm-project?rev=276147&view=rev
Log:
minimize tests and auto-generate checks

Modified:
    llvm/trunk/test/Transforms/InstCombine/sign-test-and-or.ll

Modified: llvm/trunk/test/Transforms/InstCombine/sign-test-and-or.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/sign-test-and-or.ll?rev=276147&r1=276146&r2=276147&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/sign-test-and-or.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/sign-test-and-or.ll Wed Jul 20 12:58:20 2016
@@ -1,94 +1,68 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt -S -instcombine < %s | FileCheck %s
 
 declare void @foo()
 
-define void @test1(i32 %a, i32 %b) nounwind {
+define i1 @test1(i32 %a, i32 %b) {
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[TMP1:%.*]] = or i32 %a, %b
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp slt i32 [[TMP1]], 0
+; CHECK-NEXT:    ret i1 [[TMP2]]
+;
   %1 = icmp slt i32 %a, 0
   %2 = icmp slt i32 %b, 0
   %or.cond = or i1 %1, %2
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test1(
-; CHECK-NEXT: %1 = or i32 %a, %b
-; CHECK-NEXT: %2 = icmp slt i32 %1, 0
-; CHECK-NEXT: br
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }
 
-define void @test2(i32 %a, i32 %b) nounwind {
+define i1 @test2(i32 %a, i32 %b) {
+; CHECK-LABEL: @test2(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, %b
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp sgt i32 [[TMP1]], -1
+; CHECK-NEXT:    ret i1 [[TMP2]]
+;
   %1 = icmp sgt i32 %a, -1
   %2 = icmp sgt i32 %b, -1
   %or.cond = or i1 %1, %2
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test2(
-; CHECK-NEXT: %1 = and i32 %a, %b
-; CHECK-NEXT: %2 = icmp sgt i32 %1, -1
-; CHECK-NEXT: br
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }
 
-define void @test3(i32 %a, i32 %b) nounwind {
+define i1 @test3(i32 %a, i32 %b) {
+; CHECK-LABEL: @test3(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, %b
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp slt i32 [[TMP1]], 0
+; CHECK-NEXT:    ret i1 [[TMP2]]
+;
   %1 = icmp slt i32 %a, 0
   %2 = icmp slt i32 %b, 0
   %or.cond = and i1 %1, %2
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test3(
-; CHECK-NEXT: %1 = and i32 %a, %b
-; CHECK-NEXT: %2 = icmp slt i32 %1, 0
-; CHECK-NEXT: br
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }
 
-define void @test4(i32 %a, i32 %b) nounwind {
+define i1 @test4(i32 %a, i32 %b) {
+; CHECK-LABEL: @test4(
+; CHECK-NEXT:    [[TMP1:%.*]] = or i32 %a, %b
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp sgt i32 [[TMP1]], -1
+; CHECK-NEXT:    ret i1 [[TMP2]]
+;
   %1 = icmp sgt i32 %a, -1
   %2 = icmp sgt i32 %b, -1
   %or.cond = and i1 %1, %2
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test4(
-; CHECK-NEXT: %1 = or i32 %a, %b
-; CHECK-NEXT: %2 = icmp sgt i32 %1, -1
-; CHECK-NEXT: br
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }
 
-define void @test5(i32 %a) nounwind {
+define void @test5(i32 %a) {
+; CHECK-LABEL: @test5(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, -2013265920
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[TMP1]], 0
+; CHECK-NEXT:    br i1 [[TMP2]], label %if.then, label %if.end
+;
   %and = and i32 %a, 134217728
   %1 = icmp eq i32 %and, 0
   %2 = icmp sgt i32 %a, -1
   %or.cond = and i1 %1, %2
   br i1 %or.cond, label %if.then, label %if.end
 
-; CHECK-LABEL: @test5(
-; CHECK-NEXT: %1 = and i32 %a, -2013265920
-; CHECK-NEXT: %2 = icmp eq i32 %1, 0
-; CHECK-NEXT: br i1 %2, label %if.then, label %if.end
 
 if.then:
   tail call void @foo() nounwind
@@ -98,17 +72,18 @@ if.end:
   ret void
 }
 
-define void @test6(i32 %a) nounwind {
+define void @test6(i32 %a) {
+; CHECK-LABEL: @test6(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, -2013265920
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[TMP1]], 0
+; CHECK-NEXT:    br i1 [[TMP2]], label %if.then, label %if.end
+;
   %1 = icmp sgt i32 %a, -1
   %and = and i32 %a, 134217728
   %2 = icmp eq i32 %and, 0
   %or.cond = and i1 %1, %2
   br i1 %or.cond, label %if.then, label %if.end
 
-; CHECK-LABEL: @test6(
-; CHECK-NEXT: %1 = and i32 %a, -2013265920
-; CHECK-NEXT: %2 = icmp eq i32 %1, 0
-; CHECK-NEXT: br i1 %2, label %if.then, label %if.end
 
 if.then:
   tail call void @foo() nounwind
@@ -118,17 +93,18 @@ if.end:
   ret void
 }
 
-define void @test7(i32 %a) nounwind {
+define void @test7(i32 %a) {
+; CHECK-LABEL: @test7(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, -2013265920
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[TMP1]], 0
+; CHECK-NEXT:    br i1 [[TMP2]], label %if.end, label %if.then
+;
   %and = and i32 %a, 134217728
   %1 = icmp ne i32 %and, 0
   %2 = icmp slt i32 %a, 0
   %or.cond = or i1 %1, %2
   br i1 %or.cond, label %if.then, label %if.end
 
-; CHECK-LABEL: @test7(
-; CHECK-NEXT: %1 = and i32 %a, -2013265920
-; CHECK-NEXT: %2 = icmp eq i32 %1, 0
-; CHECK-NEXT: br i1 %2, label %if.end, label %if.the
 
 if.then:
   tail call void @foo() nounwind
@@ -138,80 +114,60 @@ if.end:
   ret void
 }
 
-define void @test8(i32 %a) nounwind {
+define void @test8(i32 %a) {
+; CHECK-LABEL: @test8(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, -2013265920
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[TMP1]], 0
+; CHECK-NEXT:    br i1 [[TMP2]], label %if.end, label %if.then
+;
   %1 = icmp slt i32 %a, 0
   %and = and i32 %a, 134217728
   %2 = icmp ne i32 %and, 0
   %or.cond = or i1 %1, %2
   br i1 %or.cond, label %if.then, label %if.end
 
-; CHECK-LABEL: @test8(
-; CHECK-NEXT: %1 = and i32 %a, -2013265920
-; CHECK-NEXT: %2 = icmp eq i32 %1, 0
-; CHECK-NEXT: br i1 %2, label %if.end, label %if.the
 
 if.then:
-  tail call void @foo() nounwind
+  tail call void @foo()
   ret void
 
 if.end:
   ret void
 }
 
-define void @test9(i32 %a) nounwind {
+define i1 @test9(i32 %a) {
+; CHECK-LABEL: @test9(
+; CHECK-NEXT:    [[TMP1:%.*]] = and i32 %a, -1073741824
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[TMP1]], 1073741824
+; CHECK-NEXT:    ret i1 [[TMP2]]
+;
   %1 = and i32 %a, 1073741824
   %2 = icmp ne i32 %1, 0
   %3 = icmp sgt i32 %a, -1
   %or.cond = and i1 %2, %3
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test9(
-; CHECK-NEXT: %1 = and i32 %a, -1073741824
-; CHECK-NEXT: %2 = icmp eq i32 %1, 1073741824
-; CHECK-NEXT: br i1 %2, label %if.then, label %if.end
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }
 
-define void @test10(i32 %a) nounwind {
+define i1 @test10(i32 %a) {
+; CHECK-LABEL: @test10(
+; CHECK-NEXT:    [[TMP1:%.*]] = icmp ult i32 %a, 2
+; CHECK-NEXT:    ret i1 [[TMP1]]
+;
   %1 = and i32 %a, 2
   %2 = icmp eq i32 %1, 0
   %3 = icmp ult i32 %a, 4
   %or.cond = and i1 %2, %3
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test10(
-; CHECK-NEXT: %1 = icmp ult i32 %a, 2
-; CHECK-NEXT: br i1 %1, label %if.then, label %if.end
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }
 
-define void @test11(i32 %a) nounwind {
+define i1 @test11(i32 %a) {
+; CHECK-LABEL: @test11(
+; CHECK-NEXT:    [[TMP1:%.*]] = icmp ugt i32 %a, 1
+; CHECK-NEXT:    ret i1 [[TMP1]]
+;
   %1 = and i32 %a, 2
   %2 = icmp ne i32 %1, 0
   %3 = icmp ugt i32 %a, 3
   %or.cond = or i1 %2, %3
-  br i1 %or.cond, label %if.then, label %if.end
-
-; CHECK-LABEL: @test11(
-; CHECK-NEXT: %1 = icmp ugt i32 %a, 1
-; CHECK-NEXT: br i1 %1, label %if.then, label %if.end
-
-if.then:
-  tail call void @foo() nounwind
-  ret void
-
-if.end:
-  ret void
+  ret i1 %or.cond
 }




More information about the llvm-commits mailing list