zpu: wip eke out some simple instructions for load/store/add
[llvm/zpu.git] / test / Transforms / TailCallElim / intervening-inst.ll
blob0c40bd5dc50d3bf525e98e015e6ace65718fbda2
1 ; This function contains intervening instructions which should be moved out of the way
2 ; RUN: opt < %s -tailcallelim -S | not grep call
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