summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-06-10 01:34:54 +0000
committerReid Kleckner <reid@kleckner.net>2015-06-10 01:34:54 +0000
commit673de15af9db9c5082c4c15d6960d7f669295a42 (patch)
tree45e58aba504569398249a64a1f66391dd1e71b62 /llvm/test
parent18f4c9f5a065322f1263fcd0d151581da45a815b (diff)
downloadbcm5719-llvm-673de15af9db9c5082c4c15d6960d7f669295a42.tar.gz
bcm5719-llvm-673de15af9db9c5082c4c15d6960d7f669295a42.zip
[WinEH] Call llvm.stackrestore in __except blocks
We have to do this manually, the runtime only sets up ebp. Fixes a crash when returning after catching an exception. llvm-svn: 239451
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/seh-safe-div-win32.ll4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/seh-safe-div-win32.ll b/llvm/test/CodeGen/X86/seh-safe-div-win32.ll
index 66967797076..e5cbc587bb2 100644
--- a/llvm/test/CodeGen/X86/seh-safe-div-win32.ll
+++ b/llvm/test/CodeGen/X86/seh-safe-div-win32.ll
@@ -77,11 +77,15 @@ __try.cont:
; CHECK: [[handler0:Ltmp[0-9]+]]: # Block address taken
; CHECK: # %handler0
+; Restore SP
+; CHECK: movl {{.*}}(%ebp), %esp
; CHECK: calll _puts
; CHECK: jmp [[cont_bb]]
; CHECK: [[handler1:Ltmp[0-9]+]]: # Block address taken
; CHECK: # %handler1
+; Restore SP
+; CHECK: movl {{.*}}(%ebp), %esp
; CHECK: calll _puts
; CHECK: jmp [[cont_bb]]
OpenPOWER on IntegriCloud