mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-21 12:02:58 +02:00
478afe00d6
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
21 lines
525 B
LLVM
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" }
|