Avoid depending on LCSSA implicitly pulling in LoopSimplify.
[oota-llvm.git] / test / Transforms / LCSSA / 2006-06-03-IncorrectIDFPhis.ll
1 ; RUN: opt < %s -loopsimplify -lcssa -S | \
2 ; RUN:   grep {%%SJE.0.0.lcssa = phi .struct.SetJmpMapEntry}
3 ; RUN: opt < %s -loopsimplify -lcssa -S | \
4 ; RUN:   grep {%%SJE.0.0.lcssa1 = phi .struct.SetJmpMapEntry}
5
6         %struct.SetJmpMapEntry = type { i8*, i32, %struct.SetJmpMapEntry* }
7
8 define void @__llvm_sjljeh_try_catching_longjmp_exception() {
9 entry:
10         br i1 false, label %UnifiedReturnBlock, label %no_exit
11 no_exit:                ; preds = %endif, %entry
12         %SJE.0.0 = phi %struct.SetJmpMapEntry* [ %tmp.24, %endif ], [ null, %entry ]            ; <%struct.SetJmpMapEntry*> [#uses=1]
13         br i1 false, label %then, label %endif
14 then:           ; preds = %no_exit
15         %tmp.20 = getelementptr %struct.SetJmpMapEntry* %SJE.0.0, i32 0, i32 1          ; <i32*> [#uses=0]
16         ret void
17 endif:          ; preds = %no_exit
18         %tmp.24 = load %struct.SetJmpMapEntry** null            ; <%struct.SetJmpMapEntry*> [#uses=1]
19         br i1 false, label %UnifiedReturnBlock, label %no_exit
20 UnifiedReturnBlock:             ; preds = %endif, %entry
21         ret void
22 }
23