summaryrefslogtreecommitdiff
path: root/test/Transforms/TailCallElim/move_alloca_for_tail_call.ll
blob: bd2b93f7a8d6e6f97b8355bde2ff023cb0d641f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | \
; RUN:    %prcontext alloca 1 | grep {i32 @foo}

declare void @bar(i32*)

define i32 @foo() {
	%A = alloca i32		; <i32*> [#uses=2]
	store i32 17, i32* %A
	call void @bar( i32* %A )
	%X = tail call i32 @foo( )		; <i32> [#uses=1]
	ret i32 %X
}