mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305939 91177308-0d34-0410-b5e6-96231b3b80d8
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" }
|