1; RUN: llc -mtriple thumbv7-apple-ios3.0.0 < %s 2>&1 >/dev/null | FileCheck %s 2; Check the internal option that warns when the stack frame size exceeds the 3; given amount. 4; <rdar://13987214> 5 6; CHECK-NOT: nowarn 7define void @nowarn() nounwind ssp "frame-pointer"="all" "warn-stack-size"="80" { 8entry: 9 %buffer = alloca [12 x i8], align 1 10 call void @doit(ptr %buffer) nounwind 11 ret void 12} 13 14; CHECK: warning: <unknown>:0:0: stack frame size ([[STCK:[0-9]+]]) exceeds limit (80) in function 'warn' 15; CHECK: {{[0-9]+}}/[[STCK]] ({{.*}}%) spills, {{[0-9]+}}/[[STCK]] ({{.*}}%) variables 16define i32 @warn() nounwind ssp "frame-pointer"="all" "warn-stack-size"="80" { 17entry: 18 %var = alloca i32, align 4 19 %buffer = alloca [80 x i8], align 1 20 call void @doit(ptr %buffer) nounwind 21 call void @doit(ptr %var) nounwind 22 %val = load i32, ptr %var 23 ret i32 %val 24} 25 26; CHECK: warning: stack frame size ([[STCK:[0-9]+]]) exceeds limit (80) in function 'warn_safestack' 27; CHECK: {{[0-9]+}}/[[STCK]] ({{.*}}%) spills, {{[0-9]+}}/[[STCK]] ({{.*}}%) variables, {{[0-9]+}}/[[STCK]] ({{.*}}%) unsafe stack 28define i32 @warn_safestack() nounwind ssp safestack "warn-stack-size"="80" { 29entry: 30 %var = alloca i32, align 4 31 %a = alloca i32, align 4 32 %buffer = alloca [80 x i8], align 1 33 call void @doit(ptr %buffer) nounwind 34 call void @doit(ptr %var) nounwind 35 %val = load i32, ptr %var 36 ret i32 %val 37} 38 39declare void @doit(ptr) 40