aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2005-07-26 23:59:13 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2005-07-26 23:59:13 +0000
commitb5395c33d1665cdbd390a7c3bad066b8c42dd6e4 (patch)
treed6f2409ce78c5a22e9a450882b1a909771c1c856
parent6c8a62bbfea9ae40fa27ffe8b1756cec414d6db3 (diff)
downloadgcc-b5395c33d1665cdbd390a7c3bad066b8c42dd6e4.zip
gcc-b5395c33d1665cdbd390a7c3bad066b8c42dd6e4.tar.gz
gcc-b5395c33d1665cdbd390a7c3bad066b8c42dd6e4.tar.bz2
re PR rtl-optimization/22472 (testsuite failure gcc.c-torture/compile/930621-1.c -O3 -funroll-loops)
PR rtl-optimization/22472 * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define. From-SVN: r102405
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.h6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ac09120..06b638d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-26 Steve Ellcey <sje@cup.hp.com>
+
+ PR rtl-optimization/22472
+ * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
+
2005-07-26 Steven Bosscher <stevenb@suse.de>
PR tree-optimization/22504
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index b9a5394..76a64fe 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -358,6 +358,12 @@ typedef struct machine_function GTY(())
#define FRAME_POINTER_REQUIRED \
(current_function_calls_alloca)
+/* Don't allow hard registers to be renamed into r2 unless r2
+ is already live or already being saved (due to eh). */
+
+#define HARD_REGNO_RENAME_OK(OLD_REG, NEW_REG) \
+ ((NEW_REG) != 2 || regs_ever_live[2] || current_function_calls_eh_return)
+
/* C statement to store the difference between the frame pointer
and the stack pointer values immediately after the function prologue.