blob: 87f6371a7eb6849160e6efe8c98790add1e7219c [file] [log] [blame]
Dan Gohman3c7d3082009-09-11 18:01:28 +00001; RUN: opt < %s -argpromotion -mem2reg -S | 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