aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/LICM/call_sink_pure_function.ll
blob: d67436948bd020d9e79df4b5957ae2756fb65e38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | grep -C1 strlen | grep Out: 
declare int %strlen(sbyte*)
declare void %foo()

int %test(sbyte* %P) {
	br label %Loop

Loop:
	%A = call int %strlen(sbyte* %P)   ;; Can hoist/sink call
	br bool false, label %Loop, label %Out

Out:
	ret int %A
}