aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/LoadVN/call_cse.ll
blob: b62300f5ab331c3e2379c817f65c01a448cc63c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub

declare i32 @strlen(i8*) readonly

define i32 @test(i8* %P) {
	%X = call i32 @strlen( i8* %P ) readonly		; <i32> [#uses=2]
	%A = add i32 %X, 14		; <i32> [#uses=1]
	%Y = call i32 @strlen( i8* %P ) readonly		; <i32> [#uses=1]
	%Z = sub i32 %X, %Y		; <i32> [#uses=1]
	%B = add i32 %A, %Z		; <i32> [#uses=1]
	ret i32 %B
}