summaryrefslogtreecommitdiffstats
path: root/gcc/config
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-01 14:04:23 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-01 14:04:23 +0000
commita253b899907be0ef54bfc610f914fa19c0b76e64 (patch)
tree00ac5d791087a030565f851b26b05371d1ed2827 /gcc/config
parenta233dea370eaecb07365c3047ace50a65603f85d (diff)
downloadppe42-gcc-a253b899907be0ef54bfc610f914fa19c0b76e64.tar.gz
ppe42-gcc-a253b899907be0ef54bfc610f914fa19c0b76e64.zip
Fix register renaming problem
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40152 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/ia64/ia64.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 1a4baa02c6c..bfe0d551dad 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -2436,6 +2436,10 @@ ia64_hard_regno_rename_ok (from, to)
if (PR_REGNO_P (from) && PR_REGNO_P (to))
return (from & 1) == (to & 1);
+ /* Reg 4 contains the saved gp; we can't reliably rename this. */
+ if (from == GR_REG (4) && current_function_calls_setjmp)
+ return 0;
+
return 1;
}
OpenPOWER on IntegriCloud