summaryrefslogtreecommitdiff
path: root/test/Transforms/SCCP/ipsccp-conditional.ll
blob: 5f06df3e8e133b8e087e52434275c16936b61413 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | 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
}