18 lines
490 B
LLVM
18 lines
490 B
LLVM
|
; RUN: llc < %s
|
||
|
|
||
|
; NVPTX can not select llvm.stacksave (dynamic_stackalloc) and llvm.stackrestore
|
||
|
; UNSUPPORTED: target=nvptx{{.*}}
|
||
|
|
||
|
declare ptr @llvm.stacksave()
|
||
|
|
||
|
declare void @llvm.stackrestore(ptr)
|
||
|
|
||
|
define ptr @test(i32 %N) {
|
||
|
%tmp = call ptr @llvm.stacksave( ) ; <ptr> [#uses=1]
|
||
|
%P = alloca i32, i32 %N ; <ptr> [#uses=1]
|
||
|
call void @llvm.stackrestore( ptr %tmp )
|
||
|
%Q = alloca i32, i32 %N ; <ptr> [#uses=0]
|
||
|
ret ptr %P
|
||
|
}
|
||
|
|