aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2006-01-10 19:50:07 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2006-01-10 18:50:07 +0000
commite31a196782fe570814cfa9c6098d7d702810c553 (patch)
treee3fc8bc8e0fd24c393d055a2f51e06078c9e5db1
parent84a7b1fccfb7444fbee02496958ae8df5b90b15b (diff)
downloadgcc-e31a196782fe570814cfa9c6098d7d702810c553.zip
gcc-e31a196782fe570814cfa9c6098d7d702810c553.tar.gz
gcc-e31a196782fe570814cfa9c6098d7d702810c553.tar.bz2
re PR rtl-optimization/25367 (-O1 -funroll-loops leads to segfault)
PR rtl-optimization/25367 * config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro. From-SVN: r109551
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sparc/sparc.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a87282..92fa318 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR rtl-optimization/25367
+ * config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro.
+
2006-01-10 Hans-Peter Nilsson <hp@axis.com>
PR target/25718
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index a72cc90..bb4647c 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -884,6 +884,11 @@ extern int sparc_mode_class[];
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
((hard_regno_mode_classes[REGNO] & sparc_mode_class[MODE]) != 0)
+/* Value is 1 if it is OK to rename a hard register FROM to another hard
+ register TO. We cannot rename %g1 as it may be used before the save
+ register window instruction in the prologue. */
+#define HARD_REGNO_RENAME_OK(FROM, TO) ((FROM) != 1)
+
/* Value is 1 if it is a good idea to tie two pseudo registers
when one has mode MODE1 and one has mode MODE2.
If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2,