aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2008-06-19 20:00:12 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2008-06-19 18:00:12 +0000
commitdea33aa707a98bfecc8af5c83c969053ef0dc4b5 (patch)
treebc201d66624091cc7736131df7fa7536bc8b7298
parentbad5e2b57516ce8531bf6bbd5b0d0d40b1a3f7f3 (diff)
downloadgcc-dea33aa707a98bfecc8af5c83c969053ef0dc4b5.zip
gcc-dea33aa707a98bfecc8af5c83c969053ef0dc4b5.tar.gz
gcc-dea33aa707a98bfecc8af5c83c969053ef0dc4b5.tar.bz2
builtins.c (expand_builtin_nonlocal_goto): Stabilize r_sp before clobbering framepointer.
* builtins.c (expand_builtin_nonlocal_goto): Stabilize r_sp before clobbering framepointer. From-SVN: r136959
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/builtins.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d5c60c0..d9f6157 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2008-06-19 Jan Hubicka <jh@suse.cz>
+ * builtins.c (expand_builtin_nonlocal_goto): Stabilize r_sp before
+ clobbering framepointer.
+
+2008-06-19 Jan Hubicka <jh@suse.cz>
+
* tree-optimize.c (execute_early_local_optimizations): Set
cgraph_state only at first invocation.
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 57d9379..cdc5ab3 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -887,6 +887,7 @@ expand_builtin_nonlocal_goto (tree exp)
#endif
{
r_label = copy_to_reg (r_label);
+ r_sp = copy_to_reg (r_sp);
emit_clobber (gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode)));
emit_clobber (gen_rtx_MEM (BLKmode, hard_frame_pointer_rtx));