diff options
author | Richard Henderson <rth@redhat.com> | 2001-03-28 04:22:48 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-03-28 04:22:48 -0800 |
commit | 3553b09d2c9d90400e29a67c59cc2986c8109392 (patch) | |
tree | 484136fe46ff1b680cc5eed6fa3b3517775e090b /gcc | |
parent | 94b68558d1c3fd82109fb123dc838658603084a9 (diff) | |
download | gcc-3553b09d2c9d90400e29a67c59cc2986c8109392.zip gcc-3553b09d2c9d90400e29a67c59cc2986c8109392.tar.gz gcc-3553b09d2c9d90400e29a67c59cc2986c8109392.tar.bz2 |
rs6000.h (EPILOGUE_USES): Use TARGET_AIX, not TARGET_TOC for special toc restore handling.
* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
not TARGET_TOC for special toc restore handling.
* config/rs6000/rs6000.md (eh_return): Likewise.
From-SVN: r40930
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 3 |
3 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b66ea6..f57accb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2001-03-28 Richard Henderson <rth@redhat.com> + * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX, + not TARGET_TOC for special toc restore handling. + * config/rs6000/rs6000.md (eh_return): Likewise. + +2001-03-28 Richard Henderson <rth@redhat.com> + * config/sparc/sparc.c (eligible_for_epilogue_delay): False if current_function_calls_eh_return. (output_function_epilogue): Handle eh_return. diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index a520b57..f0f65f5 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1573,7 +1573,7 @@ typedef struct rs6000_args #define EPILOGUE_USES(REGNO) \ ((reload_completed && (REGNO) == LINK_REGISTER_REGNUM) \ || (current_function_calls_eh_return \ - && TARGET_TOC \ + && TARGET_AIX \ && (REGNO) == TOC_REGISTER)) /* This macro generates the assembly code for function exit, diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index e92cbc8..833e640 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -13388,8 +13388,9 @@ operands[2] = GEN_INT (INTVAL (operands[1]) >> 32); "" " { - if (TARGET_TOC) +#if TARGET_AIX rs6000_emit_eh_toc_restore (operands[0]); +#endif if (TARGET_32BIT) emit_insn (gen_eh_set_lr_si (operands[1])); else |