Fixing a heisenbug where the memory dependence analysis behaves differently
[oota-llvm.git] / test / Transforms / ScalarRepl / 2003-10-29-ArrayProblem.ll
index feadc3e3ce4c026be2c60fd822bf2ddee45d66d8..77c7b54b63fffa0ecb950fc655ed94c6b81d39ee 100644 (file)
@@ -1,15 +1,15 @@
-; RUN: llvm-as < %s | opt -scalarrepl | llvm-dis | \
-; RUN:   grep alloca | grep \\{
+; RUN: opt < %s -scalarrepl -S | grep "alloca %%T"
 
+%T = type { [80 x i8], i32, i32 }
 declare i32 @.callback_1(i8*)
 
 declare void @.iter_2(i32 (i8*)*, i8*)
 
 define i32 @main() {
-       %d = alloca { [80 x i8], i32, i32 }             ; <{ [80 x i8], i32, i32 }*> [#uses=2]
-       %tmp.0 = getelementptr { [80 x i8], i32, i32 }* %d, i64 0, i32 2                ; <i32*> [#uses=1]
+       %d = alloca %T          ; <{ [80 x i8], i32, i32 }*> [#uses=2]
+       %tmp.0 = getelementptr %T* %d, i64 0, i32 2             ; <i32*> [#uses=1]
        store i32 0, i32* %tmp.0
-       %tmp.1 = getelementptr { [80 x i8], i32, i32 }* %d, i64 0, i32 0, i64 0         ; <i8*> [#uses=1]
+       %tmp.1 = getelementptr %T* %d, i64 0, i32 0, i64 0              ; <i8*> [#uses=1]
        call void @.iter_2( i32 (i8*)* @.callback_1, i8* %tmp.1 )
        ret i32 0
 }