aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-10-19 10:30:23 +0000
committerJeff Law <law@gcc.gnu.org>1998-10-19 04:30:23 -0600
commitb1fc873cc23de79ce54a9070f55cb26189ad6f0d (patch)
treee13838fc2673de3bf7ce00aeac6c7c038cd3e4ab /gcc
parent495e6ebb4047743940cce85d7367874470fa5098 (diff)
downloadgcc-b1fc873cc23de79ce54a9070f55cb26189ad6f0d.zip
gcc-b1fc873cc23de79ce54a9070f55cb26189ad6f0d.tar.gz
gcc-b1fc873cc23de79ce54a9070f55cb26189ad6f0d.tar.bz2
reload1.c (reload_reg_free_before_p): Hack.
* reload1.c (reload_reg_free_before_p): Hack. Return 0 if EQUIV is nonzero. This is temporary! From-SVN: r23174
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/reload1.c13
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d298531..0c34c6c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -11,6 +11,9 @@ Mon Oct 19 10:45:40 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
Mon Oct 19 10:28:15 1998 Jeffrey A Law (law@cygnus.com)
+ * reload1.c (reload_reg_free_before_p): Hack. Return 0 if EQUIV
+ is nonzero. This is temporary!
+
* sched.c (update_flow_info): Handle death notes made invalid by
instruction splitting. Partially reverts Oct 15, 1998 patch.
* haifa-sched.c (update_flow_info): Likewise.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 274290a..74d5ed4 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -5044,6 +5044,19 @@ reload_reg_free_before_p (regno, opnum, type, equiv)
{
int i;
+ /* The code to handle EQUIV below is wrong.
+
+ If we wnat to know if a value in a particular reload register is available
+ at a particular point in time during reloading, we must check *all*
+ prior reloads to see if they clobber the value.
+
+ Note this is significantly different from determining when a register is
+ free for usage in a reload!
+
+ This change is temporary. It will go away. */
+ if (equiv)
+ return 0;
+
switch (type)
{
case RELOAD_FOR_OTHER_ADDRESS: