1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/test/Transforms/Inline/inline-probe-stack.ll
whitequark 478afe00d6 Add a "probe-stack" attribute
This attribute is used to ensure the guard page is triggered on stack
overflow. Stack frames larger than the guard page size will generate
a call to __probestack to touch each page so the guard page won't
be skipped.

Reviewed By: majnemer

Differential Revision: https://reviews.llvm.org/D34386

llvm-svn: 305939
2017-06-21 18:46:50 +00:00

21 lines
525 B
LLVM

; RUN: opt %s -inline -S | FileCheck %s
define internal void @inner() "probe-stack"="__probestackinner" {
ret void
}
define void @outerNoAttribute() {
call void @inner()
ret void
}
define void @outerConflictingAttribute() "probe-stack"="__probestackouter" {
call void @inner()
ret void
}
; CHECK: define void @outerNoAttribute() #0
; CHECK: define void @outerConflictingAttribute() #1
; CHECK: attributes #0 = { "probe-stack"="__probestackinner" }
; CHECK: attributes #1 = { "probe-stack"="__probestackouter" }