741f5848bc671b053a1a41f904565865ec8b77a4
[oota-llvm.git] / test / Transforms / TailCallElim / move_alloca_for_tail_call.ll
1 ; RUN: opt -tailcallelim -S < %s | FileCheck %s
2 ; PR615
3
4 declare void @bar(i32*)
5
6 define i32 @foo() {
7 ; CHECK: i32 @foo()
8 ; CHECK-NEXT: alloca
9         %A = alloca i32         ; <i32*> [#uses=2]
10         store i32 17, i32* %A
11         call void @bar( i32* %A )
12         %X = tail call i32 @foo( )              ; <i32> [#uses=1]
13         ret i32 %X
14 }
15