[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/add.ll and.ll cast.ll set.ll sub.ll xor.ll

Chris Lattner lattner at cs.uiuc.edu
Wed Aug 13 00:29:01 PDT 2003


Changes in directory llvm/test/Regression/Transforms/InstCombine:

add.ll updated: 1.11 -> 1.12
and.ll updated: 1.14 -> 1.15
cast.ll updated: 1.12 -> 1.13
set.ll updated: 1.11 -> 1.12
sub.ll updated: 1.11 -> 1.12
xor.ll updated: 1.3 -> 1.4

---
Log message:

Reorganize tests because we no longer cannonicalize X != 0 -> cast X to bool
In fact, we plan to eliminate cast to bool entirely.


---
Diffs of the changes:

Index: llvm/test/Regression/Transforms/InstCombine/add.ll
diff -u llvm/test/Regression/Transforms/InstCombine/add.ll:1.11 llvm/test/Regression/Transforms/InstCombine/add.ll:1.12
--- llvm/test/Regression/Transforms/InstCombine/add.ll:1.11	Thu Jul 24 14:44:51 2003
+++ llvm/test/Regression/Transforms/InstCombine/add.ll	Wed Aug 13 00:27:57 2003
@@ -60,3 +60,15 @@
 	%C = add int %B, %B      ; === shl int %A, 5
 	ret int %C
 }
+
+bool %test10(ubyte %A, ubyte %b) {
+        %B = add ubyte %A, %b
+        %c = setne ubyte %B, 0    ; === A != -b
+        ret bool %c
+}
+
+bool %test11(ubyte %A) {
+        %B = add ubyte %A, 255
+        %c = setne ubyte %B, 0    ; === A != 1
+        ret bool %c
+}


Index: llvm/test/Regression/Transforms/InstCombine/and.ll
diff -u llvm/test/Regression/Transforms/InstCombine/and.ll:1.14 llvm/test/Regression/Transforms/InstCombine/and.ll:1.15
--- llvm/test/Regression/Transforms/InstCombine/and.ll:1.14	Thu Jul 24 14:44:51 2003
+++ llvm/test/Regression/Transforms/InstCombine/and.ll	Wed Aug 13 00:27:57 2003
@@ -88,3 +88,8 @@
 	ret bool %D
 }
 
+bool %test14(ubyte %A) {
+	%B = and ubyte %A, 128
+	%C = setne ubyte %B, 0
+	ret bool %C
+}


Index: llvm/test/Regression/Transforms/InstCombine/cast.ll
diff -u llvm/test/Regression/Transforms/InstCombine/cast.ll:1.12 llvm/test/Regression/Transforms/InstCombine/cast.ll:1.13
--- llvm/test/Regression/Transforms/InstCombine/cast.ll:1.12	Tue Jul 22 16:44:06 2003
+++ llvm/test/Regression/Transforms/InstCombine/cast.ll	Wed Aug 13 00:27:57 2003
@@ -66,26 +66,3 @@
 	ret short %c2
 }
 
-bool %test11(ubyte %A, ubyte %B) {
-        %C = sub ubyte %A, %B
-        %cD = cast ubyte %C to bool    ; == setne A, B
-        ret bool %cD
-}
-
-bool %test12(ubyte %A) {
-        %B = add ubyte %A, 255
-        %c = cast ubyte %B to bool    ; === A != 1
-        ret bool %c
-}
-
-bool %test13(ubyte %A, ubyte %b) {
-        %B = add ubyte %A, %b
-        %c = cast ubyte %B to bool    ; === A != -b
-        ret bool %c
-}
-
-bool %test14(ubyte %A) {
-	%B = xor ubyte %A, 4
-	%c = cast ubyte %B to bool
-	ret bool %c
-}


Index: llvm/test/Regression/Transforms/InstCombine/set.ll
diff -u llvm/test/Regression/Transforms/InstCombine/set.ll:1.11 llvm/test/Regression/Transforms/InstCombine/set.ll:1.12
--- llvm/test/Regression/Transforms/InstCombine/set.ll:1.11	Wed Jul 23 12:01:18 2003
+++ llvm/test/Regression/Transforms/InstCombine/set.ll	Wed Aug 13 00:27:57 2003
@@ -75,18 +75,6 @@
 	ret bool %C
 }
 
-; These instructions can be turned into cast-to-bool
-bool %test15(sbyte %A, short %A, int %A, long %A) {
-	%B1 = setne sbyte %A, 0
-	%B2 = seteq short %A, 0
-	%B3 = setne int %A, 0
-	%B4 = seteq long %A, 0
-	%C1 = or bool %B1, %B2
-	%C2 = or bool %B3, %B4
-	%D = or bool %C1, %C2
-	ret bool %D
-}
-
 bool %test16(uint %A) {
 	%B = and uint %A, 5
 	%C = seteq uint %B, 8    ; Is never true


Index: llvm/test/Regression/Transforms/InstCombine/sub.ll
diff -u llvm/test/Regression/Transforms/InstCombine/sub.ll:1.11 llvm/test/Regression/Transforms/InstCombine/sub.ll:1.12
--- llvm/test/Regression/Transforms/InstCombine/sub.ll:1.11	Sat Jun 28 18:31:56 2003
+++ llvm/test/Regression/Transforms/InstCombine/sub.ll	Wed Aug 13 00:27:57 2003
@@ -69,3 +69,8 @@
 	ret int %E
 }
 
+bool %test11(ubyte %A, ubyte %B) {
+        %C = sub ubyte %A, %B
+        %cD = setne ubyte %C, 0    ; == setne A, B
+        ret bool %cD
+}


Index: llvm/test/Regression/Transforms/InstCombine/xor.ll
diff -u llvm/test/Regression/Transforms/InstCombine/xor.ll:1.3 llvm/test/Regression/Transforms/InstCombine/xor.ll:1.4
--- llvm/test/Regression/Transforms/InstCombine/xor.ll:1.3	Wed Jul 23 16:36:01 2003
+++ llvm/test/Regression/Transforms/InstCombine/xor.ll	Wed Aug 13 00:27:57 2003
@@ -78,3 +78,9 @@
 	%C = xor ubyte %B, 4        ; transform into an AND
 	ret ubyte %C
 }
+
+bool %test12(ubyte %A) {
+	%B = xor ubyte %A, 4
+	%c = setne ubyte %B, 0
+	ret bool %c
+}





More information about the llvm-commits mailing list