[opaque pointer type] Add textual IR support for explicit type parameter to the call...
[oota-llvm.git] / test / CodeGen / X86 / 2009-04-14-IllegalRegs.ll
index 5dda4e9ec0f1cfdbcadc1c3b3194464ad7024740..8055ea880795d1b19806b5db4a7e641a6e8a4505 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin -fast -regalloc=local | not grep sil
+; RUN: llc < %s -mtriple=i386-apple-darwin -O0 -regalloc=fast | not grep sil
 ; rdar://6787136
 
        %struct.X = type { i8, [32 x i8] }
@@ -10,25 +10,25 @@ entry:
        %xxx = alloca %struct.X         ; <%struct.X*> [#uses=6]
        %0 = alloca i32         ; <i32*> [#uses=2]
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
-       %1 = getelementptr %struct.X* %xxx, i32 0, i32 1                ; <[32 x i8]*> [#uses=1]
-       %2 = getelementptr [32 x i8]* %1, i32 0, i32 31         ; <i8*> [#uses=1]
+       %1 = getelementptr %struct.X, %struct.X* %xxx, i32 0, i32 1             ; <[32 x i8]*> [#uses=1]
+       %2 = getelementptr [32 x i8], [32 x i8]* %1, i32 0, i32 31              ; <i8*> [#uses=1]
        store i8 48, i8* %2, align 1
-       %3 = getelementptr %struct.X* %xxx, i32 0, i32 1                ; <[32 x i8]*> [#uses=1]
-       %4 = getelementptr [32 x i8]* %3, i32 0, i32 31         ; <i8*> [#uses=1]
-       %5 = load i8* %4, align 1               ; <i8> [#uses=1]
-       %6 = getelementptr %struct.X* %xxx, i32 0, i32 1                ; <[32 x i8]*> [#uses=1]
-       %7 = getelementptr [32 x i8]* %6, i32 0, i32 0          ; <i8*> [#uses=1]
+       %3 = getelementptr %struct.X, %struct.X* %xxx, i32 0, i32 1             ; <[32 x i8]*> [#uses=1]
+       %4 = getelementptr [32 x i8], [32 x i8]* %3, i32 0, i32 31              ; <i8*> [#uses=1]
+       %5 = load i8, i8* %4, align 1           ; <i8> [#uses=1]
+       %6 = getelementptr %struct.X, %struct.X* %xxx, i32 0, i32 1             ; <[32 x i8]*> [#uses=1]
+       %7 = getelementptr [32 x i8], [32 x i8]* %6, i32 0, i32 0               ; <i8*> [#uses=1]
        store i8 %5, i8* %7, align 1
-       %8 = getelementptr %struct.X* %xxx, i32 0, i32 0                ; <i8*> [#uses=1]
+       %8 = getelementptr %struct.X, %struct.X* %xxx, i32 0, i32 0             ; <i8*> [#uses=1]
        store i8 15, i8* %8, align 1
-       %9 = call i32 (...)* bitcast (i32 (%struct.X*, %struct.X*)* @f to i32 (...)*)(%struct.X* byval align 4 %xxx, %struct.X* byval align 4 %xxx) nounwind            ; <i32> [#uses=1]
+       %9 = call i32 (...) bitcast (i32 (%struct.X*, %struct.X*)* @f to i32 (...)*)(%struct.X* byval align 4 %xxx, %struct.X* byval align 4 %xxx) nounwind             ; <i32> [#uses=1]
        store i32 %9, i32* %0, align 4
-       %10 = load i32* %0, align 4             ; <i32> [#uses=1]
+       %10 = load i32, i32* %0, align 4                ; <i32> [#uses=1]
        store i32 %10, i32* %retval, align 4
        br label %return
 
 return:                ; preds = %entry
-       %retval1 = load i32* %retval            ; <i32> [#uses=1]
+       %retval1 = load i32, i32* %retval               ; <i32> [#uses=1]
        ret i32 %retval1
 }