summaryrefslogtreecommitdiff
path: root/test/Transforms/ArgumentPromotion/control-flow2.ll
blob: d42c9c39daa6ec86aa69bd2a8ee47b4f29c78228 (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 -argpromotion | llvm-dis | grep 'load i32\* %A'

implementation

internal int %callee(bool %C, int* %P) {
	br bool %C, label %T, label %F
T:
	ret int 17
F:
	%X = load int* %P
	ret int %X
}

int %foo() {
	%A = alloca int
	store int 17, int* %A
	%X = call int %callee(bool false, int* %A)
	ret int %X
}