[opaque pointer type] Add textual IR support for explicit type parameter to getelemen...
[oota-llvm.git] / test / Transforms / GVN / rle-must-alias.ll
index ada4398571894e5a8419a9e004572558780f696b..fc83c533a00cde3ce5ea842a546fe548a1a40bf7 100644 (file)
@@ -1,7 +1,6 @@
-; RUN: llvm-as < %s | opt -gvn | llvm-dis | grep {DEAD = phi i32 }
-; XFAIL: *
+; RUN: opt < %s -basicaa -gvn -S | grep "DEAD = phi i32 "
 
-; FIXME: GVN should eliminate the fully redundant %9 GEP which 
+; GVN should eliminate the fully redundant %9 GEP which 
 ; allows DEAD to be removed.  This is PR3198.
 
 ; The %7 and %4 loads combine to make %DEAD unneeded.
@@ -18,21 +17,21 @@ entry:
 
 bb:            ; preds = %entry
        %2 = tail call i32 (...)* @bar() nounwind               ; <i32> [#uses=0]
-       %3 = getelementptr [100 x i32]* @H, i32 0, i32 %i               ; <i32*> [#uses=1]
+       %3 = getelementptr [100 x i32], [100 x i32]* @H, i32 0, i32 %i          ; <i32*> [#uses=1]
        %4 = load i32* %3, align 4              ; <i32> [#uses=1]
        store i32 %4, i32* @G, align 4
        br label %bb3
 
 bb1:           ; preds = %entry
        %5 = tail call i32 (...)* @baz() nounwind               ; <i32> [#uses=0]
-       %6 = getelementptr [100 x i32]* @H, i32 0, i32 %i               ; <i32*> [#uses=1]
+       %6 = getelementptr [100 x i32], [100 x i32]* @H, i32 0, i32 %i          ; <i32*> [#uses=1]
        %7 = load i32* %6, align 4              ; <i32> [#uses=2]
        store i32 %7, i32* @G, align 4
        %8 = icmp eq i32 %7, 0          ; <i1> [#uses=1]
        br i1 %8, label %bb3, label %bb4
 
 bb3:           ; preds = %bb1, %bb
-       %9 = getelementptr [100 x i32]* @H, i32 0, i32 %i               ; <i32*> [#uses=1]
+       %9 = getelementptr [100 x i32], [100 x i32]* @H, i32 0, i32 %i          ; <i32*> [#uses=1]
        %DEAD = load i32* %9, align 4           ; <i32> [#uses=1]
        ret i32 %DEAD