this test isn't useful since we added @ notation for globals.
[oota-llvm.git] / test / Assembler / ConstantExprFold.llx
index a0e95059095d58f2eadd16036d5482c09ef8e9ea..e32cc66e81a94666179268a2418e6671e4e48d5a 100644 (file)
@@ -1,29 +1,26 @@
-; This test checks to make sure that constant exprs fold in some simple situations
+; This test checks to make sure that constant exprs fold in some simple 
+; situations
 
-; RUN: llvm-as < %s | llvm-dis | not grep '(' &&
-; RUN: llvm-as < %s
+; RUN: llvm-as < %s | llvm-dis | not grep {(}
 
-%A = global long 0
+@A = global i64 0
 
-global long* cast (long add (long cast (long* %A to long), long 0) to long*) ; X + 0 == X
-global long* cast (long sub (long cast (long* %A to long), long 0) to long*) ; X - 0 == X
-global long* cast (long mul (long cast (long* %A to long), long 0) to long*) ; X * 0 == 0
-global long* cast (long div (long cast (long* %A to long), long 1) to long*) ; X / 1 == X
-global long* cast (long rem (long cast (long* %A to long), long 1) to long*) ; X % 1 == 0
-global long* cast (long and (long cast (long* %A to long), long 0) to long*) ; X & 0 == 0
-global long* cast (long and (long cast (long* %A to long), long -1) to long*) ; X & -1 == X
-global long or (long cast (long* %A to long), long -1)  ; X | -1 == -1
-global long* cast (long xor (long cast (long* %A to long), long 0) to long*) ; X ^ 0 == X
+global i64* inttoptr (i64 add (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X + 0 == X
+global i64* inttoptr (i64 sub (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X - 0 == X
+global i64* inttoptr (i64 mul (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X * 0 == 0
+global i64* inttoptr (i64 sdiv (i64 ptrtoint (i64* @A to i64), i64 1) to i64*) ; X / 1 == X
+global i64* inttoptr (i64 srem (i64 ptrtoint (i64* @A to i64), i64 1) to i64*) ; X % 1 == 0
+global i64* inttoptr (i64 and (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X & 0 == 0
+global i64* inttoptr (i64 and (i64 ptrtoint (i64* @A to i64), i64 -1) to i64*) ; X & -1 == X
+global i64 or (i64 ptrtoint (i64* @A to i64), i64 -1)  ; X | -1 == -1
+global i64* inttoptr (i64 xor (i64 ptrtoint (i64* @A to i64), i64 0) to i64*) ; X ^ 0 == X
 
-%Ty = type { int, int }
-%B = external global %Ty 
+%Ty = type { i32, i32 }
+@B = external global %Ty 
 
-global bool setlt (long* %A, long* getelementptr (long* %A, long 1))        ; true
-global bool setlt (long* %A, long* getelementptr (long* %A, long 0))        ; false
-global bool setlt (int* getelementptr (%Ty* %B, long 0, uint 0), 
-                   int* getelementptr (%Ty* %B, long 0, uint 1))            ; true
-;global bool setne (long* %A, long* cast (%Ty* %B to long*))                 ; true
-
-global bool seteq ({ short }* cast (int 1 to { short }*), { short }* null)
-global  bool setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*))
+global i1 icmp slt (i64* @A, i64* getelementptr (i64* @A, i64 1))        ; true
+global i1 icmp slt (i64* @A, i64* getelementptr (i64* @A, i64 0))        ; false
+global i1 icmp slt (i32* getelementptr (%Ty* @B, i64 0, i32 0), 
+                   i32* getelementptr (%Ty* @B, i64 0, i32 1))            ; true
+;global i1 icmp ne (i64* @A, i64* bitcast (%Ty* @B to i64*))                 ; true