summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SafeStack/setjmp2.ll
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2016-02-02 01:03:11 +0000
committerAnna Zaks <ganna@apple.com>2016-02-02 01:03:11 +0000
commitcad7994c3b4f023767fbc5cf66ed4eeee940a149 (patch)
treeac79e6b396f496411f35440ff6915a4025d680dd /llvm/test/Transforms/SafeStack/setjmp2.ll
parent2c275cc6860bef6812dfe4f59b356ba917fa3284 (diff)
downloadbcm5719-llvm-cad7994c3b4f023767fbc5cf66ed4eeee940a149.tar.gz
bcm5719-llvm-cad7994c3b4f023767fbc5cf66ed4eeee940a149.zip
[safestack] Make sure the unsafe stack pointer is popped in all cases
The unsafe stack pointer is only popped in moveStaticAllocasToUnsafeStack so it won't happen if there are no static allocas. Fixes https://llvm.org/bugs/show_bug.cgi?id=26122 Differential Revision: http://reviews.llvm.org/D16339 llvm-svn: 259447
Diffstat (limited to 'llvm/test/Transforms/SafeStack/setjmp2.ll')
-rw-r--r--llvm/test/Transforms/SafeStack/setjmp2.ll5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/test/Transforms/SafeStack/setjmp2.ll b/llvm/test/Transforms/SafeStack/setjmp2.ll
index bb15d7e03ac..dc83c482420 100644
--- a/llvm/test/Transforms/SafeStack/setjmp2.ll
+++ b/llvm/test/Transforms/SafeStack/setjmp2.ll
@@ -12,8 +12,8 @@
; CHECK: @foo(i32 %[[ARG:.*]])
define i32 @foo(i32 %size) nounwind uwtable safestack {
entry:
- ; CHECK: %[[DYNPTR:.*]] = alloca i8*
- ; CHECK-NEXT: %[[SP:.*]] = load i8*, i8** @__safestack_unsafe_stack_ptr
+ ; CHECK: %[[SP:.*]] = load i8*, i8** @__safestack_unsafe_stack_ptr
+ ; CHECK-NEXT: %[[DYNPTR:.*]] = alloca i8*
; CHECK-NEXT: store i8* %[[SP]], i8** %[[DYNPTR]]
; CHECK-NEXT: %[[ZEXT:.*]] = zext i32 %[[ARG]] to i64
@@ -35,6 +35,7 @@ entry:
; CHECK: call void @funcall(i32* %[[ALLOCA]])
call void @funcall(i32* %a)
+ ; CHECK-NEXT: store i8* %[[SP:.*]], i8** @__safestack_unsafe_stack_ptr
ret i32 0
}
OpenPOWER on IntegriCloud