aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn Wehle <john@feith.com>2000-02-26 02:58:08 +0000
committerJeff Law <law@gcc.gnu.org>2000-02-25 19:58:08 -0700
commit63be01fb1127bf443c86bb6e33c3387a340c2062 (patch)
tree31cc4a10bd8b654226036c4fd73abe8905b111cc /gcc
parent44a76fc8563b63bbd0ce06e607136746841f4d8f (diff)
downloadgcc-63be01fb1127bf443c86bb6e33c3387a340c2062.zip
gcc-63be01fb1127bf443c86bb6e33c3387a340c2062.tar.gz
gcc-63be01fb1127bf443c86bb6e33c3387a340c2062.tar.bz2
* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
From-SVN: r32163
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/rtlanal.c14
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0823934..9edbc2a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-02-25 John Wehle (john@feith.com)
+
+ * rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
+
2000-02-25 Anthony Green <green@cygnus.com>
* toplev.c (rest_of_compilation): Rebuild jump labels if
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 24ca8d1..a1d42a6 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -750,11 +750,12 @@ multiple_sets (insn)
return 0;
}
-/* Return the last thing that X was assigned from before *PINSN. Verify that
- the object is not modified up to VALID_TO. If it was, if we hit
- a partial assignment to X, or hit a CODE_LABEL first, return X. If we
- found an assignment, update *PINSN to point to it.
- ALLOW_HWREG is set to 1 if hardware registers are allowed to be the src. */
+/* Return the last thing that X was assigned from before *PINSN. If VALID_TO
+ is not NULL_RTX then verify that the object is not modified up to VALID_TO.
+ If the object was modified, if we hit a partial assignment to X, or hit a
+ CODE_LABEL first, return X. If we found an assignment, update *PINSN to
+ point to it. ALLOW_HWREG is set to 1 if hardware registers are allowed to
+ be the src. */
rtx
find_last_value (x, pinsn, valid_to, allow_hwreg)
@@ -779,7 +780,8 @@ find_last_value (x, pinsn, valid_to, allow_hwreg)
if (note && GET_CODE (XEXP (note, 0)) != EXPR_LIST)
src = XEXP (note, 0);
- if (! modified_between_p (src, PREV_INSN (p), valid_to)
+ if ((valid_to == NULL_RTX
+ || ! modified_between_p (src, PREV_INSN (p), valid_to))
/* Reject hard registers because we don't usually want
to use them; we'd rather use a pseudo. */
&& (! (GET_CODE (src) == REG