diff options
author | John Wehle <john@feith.com> | 2000-02-26 02:58:08 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2000-02-25 19:58:08 -0700 |
commit | 63be01fb1127bf443c86bb6e33c3387a340c2062 (patch) | |
tree | 31cc4a10bd8b654226036c4fd73abe8905b111cc | |
parent | 44a76fc8563b63bbd0ce06e607136746841f4d8f (diff) | |
download | gcc-63be01fb1127bf443c86bb6e33c3387a340c2062.zip gcc-63be01fb1127bf443c86bb6e33c3387a340c2062.tar.gz gcc-63be01fb1127bf443c86bb6e33c3387a340c2062.tar.bz2 |
* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
From-SVN: r32163
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/rtlanal.c | 14 |
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 |