aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-03-28 04:22:48 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-03-28 04:22:48 -0800
commit3553b09d2c9d90400e29a67c59cc2986c8109392 (patch)
tree484136fe46ff1b680cc5eed6fa3b3517775e090b /gcc
parent94b68558d1c3fd82109fb123dc838658603084a9 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.h2
-rw-r--r--gcc/config/rs6000/rs6000.md3
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