Avoid depending on LCSSA implicitly pulling in LoopSimplify.
[oota-llvm.git] / test / Transforms / LCSSA / 2006-06-03-IncorrectIDFPhis.ll
index ffbe6fb4254e8b68eed175fa0e232538e60f84aa..5381c88aea630c41e3ad8e6e40b3a60ec35b101b 100644 (file)
@@ -1,28 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
-; RUN:   grep "%SJE.0.0.lcssa = phi .struct.SetJmpMapEntry" &&
-; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
-; RUN:   grep "%SJE.0.0.lcssa1 = phi .struct.SetJmpMapEntry"
+; RUN: opt < %s -loopsimplify -lcssa -S | \
+; RUN:   grep {%%SJE.0.0.lcssa = phi .struct.SetJmpMapEntry}
+; RUN: opt < %s -loopsimplify -lcssa -S | \
+; RUN:   grep {%%SJE.0.0.lcssa1 = phi .struct.SetJmpMapEntry}
 
-%struct.SetJmpMapEntry = type { sbyte*, uint, %struct.SetJmpMapEntry* }
+        %struct.SetJmpMapEntry = type { i8*, i32, %struct.SetJmpMapEntry* }
 
-implementation   ; Functions:
-
-void %__llvm_sjljeh_try_catching_longjmp_exception() {
+define void @__llvm_sjljeh_try_catching_longjmp_exception() {
 entry:
-       br bool false, label %UnifiedReturnBlock, label %no_exit
-
-no_exit:               ; preds = %endif, %entry
-       %SJE.0.0 = phi %struct.SetJmpMapEntry* [ %tmp.24, %endif ], [ null, %entry ]            ; <%struct.SetJmpMapEntry*> [#uses=1]
-       br bool false, label %then, label %endif
-
-then:          ; preds = %no_exit
-       %tmp.20 = getelementptr %struct.SetJmpMapEntry* %SJE.0.0, int 0, uint 1         ; <uint*> [#uses=0]
-       ret void
-
-endif:         ; preds = %no_exit
-       %tmp.24 = load %struct.SetJmpMapEntry** null            ; <%struct.SetJmpMapEntry*> [#uses=1]
-       br bool false, label %UnifiedReturnBlock, label %no_exit
-
-UnifiedReturnBlock:            ; preds = %endif, %entry
-       ret void
+        br i1 false, label %UnifiedReturnBlock, label %no_exit
+no_exit:                ; preds = %endif, %entry
+        %SJE.0.0 = phi %struct.SetJmpMapEntry* [ %tmp.24, %endif ], [ null, %entry ]            ; <%struct.SetJmpMapEntry*> [#uses=1]
+        br i1 false, label %then, label %endif
+then:           ; preds = %no_exit
+        %tmp.20 = getelementptr %struct.SetJmpMapEntry* %SJE.0.0, i32 0, i32 1          ; <i32*> [#uses=0]
+        ret void
+endif:          ; preds = %no_exit
+        %tmp.24 = load %struct.SetJmpMapEntry** null            ; <%struct.SetJmpMapEntry*> [#uses=1]
+        br i1 false, label %UnifiedReturnBlock, label %no_exit
+UnifiedReturnBlock:             ; preds = %endif, %entry
+        ret void
 }
+