summaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-26 02:58:08 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-26 02:58:08 +0000
commit5c1a1b6c153236f5cab6456e7afe6892fb00ac1f (patch)
tree31cc4a10bd8b654226036c4fd73abe8905b111cc /gcc/rtlanal.c
parentca1b9c769b4882a71d2ef0dc681277fcd9fc4678 (diff)
downloadgcc-5c1a1b6c153236f5cab6456e7afe6892fb00ac1f.tar.gz
* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32163 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 24ca8d1b530..a1d42a6349e 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