diff options
author | Jan Hubicka <jh@suse.cz> | 2001-05-15 13:55:42 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-05-15 11:55:42 +0000 |
commit | 66aa2d308b06ea39d5686f26cc109b86cc249a65 (patch) | |
tree | 24e8969fc927638d83c75f74033649152e20c937 /gcc/recog.c | |
parent | 5be598f65e965b63d1e7b209ba77965b848c61a6 (diff) | |
download | gcc-66aa2d308b06ea39d5686f26cc109b86cc249a65.zip gcc-66aa2d308b06ea39d5686f26cc109b86cc249a65.tar.gz gcc-66aa2d308b06ea39d5686f26cc109b86cc249a65.tar.bz2 |
* recog.c (apply_change_group): Avoid unneeded validating.
From-SVN: r42106
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 8648316..86209fe 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -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) |