summaryrefslogtreecommitdiff
path: root/test/Transforms/SCCP/ipsccp-conditional.ll
blob: db36228e9cdd06a129ba84ae7ccd0c1989df6513 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | \
; RUN:   grep -v {ret i32 0} | grep -v {ret i32 undef} | not grep ret

implementation

internal int %bar(int %A) {
	%C = seteq int %A, 0
	br bool %C, label %T, label %F
T:
	%B = call int %bar(int 0)
	ret int 0
F:      ; unreachable
	%C = call int %bar(int 1)
	ret int %C
}

int %foo() {
	%X = call int %bar(int 0)
	ret int %X
}