summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-04-05 01:37:43 +0000
committerBill Wendling <isanbard@gmail.com>2011-04-05 01:37:43 +0000
commitdd4dcd549bc6717e7b9eb9e829e71e1364840e29 (patch)
tree7e619ee10abafef800137fe703392f92138d08f1 /llvm/include
parenta33296392ea8749b2d01baa41020e86eac7a9ab0 (diff)
downloadbcm5719-llvm-dd4dcd549bc6717e7b9eb9e829e71e1364840e29.tar.gz
bcm5719-llvm-dd4dcd549bc6717e7b9eb9e829e71e1364840e29.zip
Revamp the SjLj "dispatch setup" intrinsic.
It needed to be moved closer to the setjmp statement, because the code directly after the setjmp needs to know about values that are on the stack. Also, the 'bitcast' of the function context was causing a dead load. This wouldn't be too horrible, except that at -O0 it wasn't optimized out, and because it wasn't using the correct base pointer (if there is a VLA), it would try to access a value from a garbage address. <rdar://problem/9130540> llvm-svn: 128873
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Intrinsics.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/include/llvm/Intrinsics.td b/llvm/include/llvm/Intrinsics.td
index ba66555c4e0..d92ab4c92ac 100644
--- a/llvm/include/llvm/Intrinsics.td
+++ b/llvm/include/llvm/Intrinsics.td
@@ -307,7 +307,7 @@ let Properties = [IntrNoMem] in {
def int_eh_sjlj_lsda : Intrinsic<[llvm_ptr_ty]>;
def int_eh_sjlj_callsite: Intrinsic<[], [llvm_i32_ty]>;
}
-def int_eh_sjlj_dispatch_setup : Intrinsic<[], [llvm_ptr_ty]>;
+def int_eh_sjlj_dispatch_setup : Intrinsic<[], []>;
def int_eh_sjlj_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>;
def int_eh_sjlj_longjmp : Intrinsic<[], [llvm_ptr_ty]>;
OpenPOWER on IntegriCloud