llvm-6502/test/Transforms/TailCallElim/intervening-inst.ll

20 lines
539 B
LLVM
Raw Normal View History

; This function contains intervening instructions which should be moved out of the way
; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call
int %Test(int %X) {
entry:
%tmp.1 = seteq int %X, 0
br bool %tmp.1, label %then.0, label %endif.0
then.0:
%tmp.4 = add int %X, 1
ret int %tmp.4
endif.0:
%tmp.10 = add int %X, -1
%tmp.8 = call int %Test(int %tmp.10)
%DUMMY = add int %X, 1 ;; This should not prevent elimination
ret int %tmp.8
}