blob: 87f6371a7eb6849160e6efe8c98790add1e7219c [file] [log] [blame]
Dan Gohmanf2f6ce62009-09-11 18:01:28 +00001; RUN: opt < %s -argpromotion -mem2reg -S | not grep alloca
Tanya Lattnerec9a35a2008-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
Chris Lattnerb9f266a2004-03-07 21:28:54 +00007}
8
Tanya Lattnerec9a35a2008-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
Chris Lattnerb9f266a2004-03-07 21:28:54 +000014}
15
Tanya Lattnerec9a35a2008-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
Chris Lattnerb9f266a2004-03-07 21:28:54 +000021}
Tanya Lattnerec9a35a2008-03-01 09:15:35 +000022