From b1fc873cc23de79ce54a9070f55cb26189ad6f0d Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Mon, 19 Oct 1998 10:30:23 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 3 +++ gcc/reload1.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d29853128cb..0c34c6c7cb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -11,6 +11,9 @@ Mon Oct 19 10:45:40 1998 Bernd Schmidt 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 274290af7fc..74d5ed4f420 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: -- 2.30.2