Make DataLayout Non-Optional in the Module
[oota-llvm.git] / test / Transforms / InstCombine / strcmp-1.ll
index 9bbd7dbe7da860af4cc9f5e1bfd69f3ac62d237b..0de26b12dd27590f5b46d2852d10b476ba785142 100644 (file)
@@ -13,12 +13,12 @@ declare i32 @strcmp(i8*, i8*)
 ; strcmp("", x) -> -*x
 define i32 @test1(i8* %str2) {
 ; CHECK-LABEL: @test1(
-; CHECK: %strcmpload = load i8* %str
+; CHECK: %strcmpload = load i8, i8* %str
 ; CHECK: %1 = zext i8 %strcmpload to i32
 ; CHECK: %2 = sub nsw i32 0, %1
 ; CHECK: ret i32 %2
 
-  %str1 = getelementptr inbounds [1 x i8]* @null, i32 0, i32 0
+  %str1 = getelementptr inbounds [1 x i8], [1 x i8]* @null, i32 0, i32 0
   %temp1 = call i32 @strcmp(i8* %str1, i8* %str2)
   ret i32 %temp1
 
@@ -27,11 +27,11 @@ define i32 @test1(i8* %str2) {
 ; strcmp(x, "") -> *x
 define i32 @test2(i8* %str1) {
 ; CHECK-LABEL: @test2(
-; CHECK: %strcmpload = load i8* %str
+; CHECK: %strcmpload = load i8, i8* %str
 ; CHECK: %1 = zext i8 %strcmpload to i32
 ; CHECK: ret i32 %1
 
-  %str2 = getelementptr inbounds [1 x i8]* @null, i32 0, i32 0
+  %str2 = getelementptr inbounds [1 x i8], [1 x i8]* @null, i32 0, i32 0
   %temp1 = call i32 @strcmp(i8* %str1, i8* %str2)
   ret i32 %temp1
 }
@@ -41,8 +41,8 @@ define i32 @test3() {
 ; CHECK-LABEL: @test3(
 ; CHECK: ret i32 -1
 
-  %str1 = getelementptr inbounds [5 x i8]* @hell, i32 0, i32 0
-  %str2 = getelementptr inbounds [6 x i8]* @hello, i32 0, i32 0
+  %str1 = getelementptr inbounds [5 x i8], [5 x i8]* @hell, i32 0, i32 0
+  %str2 = getelementptr inbounds [6 x i8], [6 x i8]* @hello, i32 0, i32 0
   %temp1 = call i32 @strcmp(i8* %str1, i8* %str2)
   ret i32 %temp1
 }
@@ -51,8 +51,8 @@ define i32 @test4() {
 ; CHECK-LABEL: @test4(
 ; CHECK: ret i32 1
 
-  %str1 = getelementptr inbounds [5 x i8]* @hell, i32 0, i32 0
-  %str2 = getelementptr inbounds [1 x i8]* @null, i32 0, i32 0
+  %str1 = getelementptr inbounds [5 x i8], [5 x i8]* @hell, i32 0, i32 0
+  %str2 = getelementptr inbounds [1 x i8], [1 x i8]* @null, i32 0, i32 0
   %temp1 = call i32 @strcmp(i8* %str1, i8* %str2)
   ret i32 %temp1
 }
@@ -64,9 +64,9 @@ define i32 @test5(i1 %b) {
 ; CHECK: %memcmp = call i32 @memcmp(i8* getelementptr inbounds ([6 x i8]* @hello, i32 0, i32 0), i8* %str2, i32 5)
 ; CHECK: ret i32 %memcmp
 
-  %str1 = getelementptr inbounds [6 x i8]* @hello, i32 0, i32 0
-  %temp1 = getelementptr inbounds [5 x i8]* @hell, i32 0, i32 0
-  %temp2 = getelementptr inbounds [5 x i8]* @bell, i32 0, i32 0
+  %str1 = getelementptr inbounds [6 x i8], [6 x i8]* @hello, i32 0, i32 0
+  %temp1 = getelementptr inbounds [5 x i8], [5 x i8]* @hell, i32 0, i32 0
+  %temp2 = getelementptr inbounds [5 x i8], [5 x i8]* @bell, i32 0, i32 0
   %str2 = select i1 %b, i8* %temp1, i8* %temp2
   %temp3 = call i32 @strcmp(i8* %str1, i8* %str2)
   ret i32 %temp3