blob: ef04e112ee3168d5461cef1ecbdb99db7fba23ee [file] [log] [blame]
Dan Gohman1b4c27772009-09-08 16:50:01 +00001; RUN: opt %s -argpromotion -mem2reg | llvm-dis | not grep alloca
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00002define internal i32 @test(i32* %X, i32* %Y) {
3 %A = load i32* %X ; <i32> [#uses=1]
4 %B = load i32* %Y ; <i32> [#uses=1]
5 %C = add i32 %A, %B ; <i32> [#uses=1]
6 ret i32 %C
Dan Gohmanf17a25c2007-07-18 16:29:46 +00007}
8
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00009define internal i32 @caller(i32* %B) {
10 %A = alloca i32 ; <i32*> [#uses=2]
11 store i32 1, i32* %A
12 %C = call i32 @test( i32* %A, i32* %B ) ; <i32> [#uses=1]
13 ret i32 %C
Dan Gohmanf17a25c2007-07-18 16:29:46 +000014}
15
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000016define i32 @callercaller() {
17 %B = alloca i32 ; <i32*> [#uses=2]
18 store i32 2, i32* %B
19 %X = call i32 @caller( i32* %B ) ; <i32> [#uses=1]
20 ret i32 %X
Dan Gohmanf17a25c2007-07-18 16:29:46 +000021}
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000022