diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-06-30 16:30:21 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-06-30 16:30:21 +0200 |
commit | 3aebbe5f49f9b9ccda66fc1eb907603e84813878 (patch) | |
tree | 4043695a51d7d9562a87d61e43938fa5c73948dc /gcc/function.c | |
parent | 7d5175e1e494e0a514019347723b7afc34a459db (diff) | |
download | gcc-3aebbe5f49f9b9ccda66fc1eb907603e84813878.zip gcc-3aebbe5f49f9b9ccda66fc1eb907603e84813878.tar.gz gcc-3aebbe5f49f9b9ccda66fc1eb907603e84813878.tar.bz2 |
function.c (stack_protect_epilogue): Pass label to stack_protect_test, assume it emitted also the conditional branch.
* function.c (stack_protect_epilogue): Pass label to
stack_protect_test, assume it emitted also the conditional
branch.
* doc/md.texi (stack_protect_test): Adjust documentation.
* config/i386/i386.md (stack_protect_test): Add third argument,
emit beq with operands[2].
* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to
flag_stack_protect != 0.
* config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
constants.
(stack_protect_set, stack_protect_test): New expanders.
(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
stack_protect_testdi): New insns.
* config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function.
(TARGET_STACK_PROTECT_FAIL): Define.
(rs6000_generate_compare): Handle UNSPEC_SP_TEST.
From-SVN: r101468
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c index d514560..9727e6d 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3995,11 +3995,10 @@ stack_protect_epilogue (void) switch (HAVE_stack_protect_test != 0) { case 1: - tmp = gen_stack_protect_test (x, y); + tmp = gen_stack_protect_test (x, y, label); if (tmp) { emit_insn (tmp); - emit_jump_insn (bcc_gen_fctn[EQ] (label)); break; } /* FALLTHRU */ |