]> gcc.gnu.org Git - gcc.git/commitdiff
* recog.c (apply_change_group): Avoid unneeded validating.
authorJan Hubicka <jh@suse.cz>
Tue, 15 May 2001 11:55:42 +0000 (13:55 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 15 May 2001 11:55:42 +0000 (11:55 +0000)
From-SVN: r42106

gcc/ChangeLog
gcc/recog.c

index d7ada73f3bdb4b7072cd9d1b135ca132f17cca46..a1a72ac1cd832c23eadd20c71887f3799552561c 100644 (file)
@@ -1,3 +1,7 @@
+Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (apply_change_group): Avoid unneeded validating.
+
 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
 
        * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
index 86483168f7c6349b4d41a43bbe882664c611a7d9..86209fe773a4f20b77f6224167f354553932d7a8 100644 (file)
@@ -314,6 +314,7 @@ int
 apply_change_group ()
 {
   int i;
+  rtx last_validated = NULL_RTX;
 
   /* The changes have been applied and all INSN_CODEs have been reset to force
      rerecognition.
@@ -328,7 +329,9 @@ apply_change_group ()
     {
       rtx object = changes[i].object;
 
-      if (object == 0)
+      /* if there is no object to test or if it is the same as the one we
+         already tested, ignore it.  */
+      if (object == 0 || object == last_validated)
        continue;
 
       if (GET_CODE (object) == MEM)
@@ -374,6 +377,7 @@ apply_change_group ()
                  but this shouldn't occur.  */
 
               validate_change (object, &PATTERN (object), newpat, 1);
+              continue;
             }
          else if (GET_CODE (pat) == USE || GET_CODE (pat) == CLOBBER)
            /* If this insn is a CLOBBER or USE, it is always valid, but is
@@ -382,6 +386,7 @@ apply_change_group ()
          else
            break;
        }
+      last_validated = object;
     }
 
   if (i == num_changes)
This page took 0.068444 seconds and 5 git commands to generate.