OSDN Git Service

* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Feb 2000 02:58:08 +0000 (02:58 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Feb 2000 02:58:08 +0000 (02:58 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32163 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/rtlanal.c

index 0823934..9edbc2a 100644 (file)
@@ -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
index 24ca8d1..a1d42a6 100644 (file)
@@ -750,11 +750,12 @@ multiple_sets (insn)
   return 0;
 }
 \f
-/* 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