This is an automatically reduced test case that crashed in GVN, at some
[oota-llvm.git] / test / Transforms / TailCallElim / intervening-inst.ll
1 ; This function contains intervening instructions which should be moved out of the way
2 ; RUN: opt < %s -tailcallelim -S | not grep call
3
4 define i32 @Test(i32 %X) {
5 entry:
6         %tmp.1 = icmp eq i32 %X, 0              ; <i1> [#uses=1]
7         br i1 %tmp.1, label %then.0, label %endif.0
8 then.0:         ; preds = %entry
9         %tmp.4 = add i32 %X, 1          ; <i32> [#uses=1]
10         ret i32 %tmp.4
11 endif.0:                ; preds = %entry
12         %tmp.10 = add i32 %X, -1                ; <i32> [#uses=1]
13         %tmp.8 = call i32 @Test( i32 %tmp.10 )          ; <i32> [#uses=1]
14         %DUMMY = add i32 %X, 1          ; <i32> [#uses=0]
15         ret i32 %tmp.8
16 }
17