aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-10-18 19:56:07 +0000
committerRichard Stallman <rms@gnu.org>1992-10-18 19:56:07 +0000
commitaee9dc31f953ce12926f1454d8c3684b4e092742 (patch)
treebb89edfb47320cdc496f4c1b9d24c654bd3d85d3 /gcc
parent9074de27ac14b0d9c07cdafe31296ea072b1b464 (diff)
downloadgcc-aee9dc31f953ce12926f1454d8c3684b4e092742.zip
gcc-aee9dc31f953ce12926f1454d8c3684b4e092742.tar.gz
gcc-aee9dc31f953ce12926f1454d8c3684b4e092742.tar.bz2
(canon_reg): Don't call validate_change if INSN is zero.
From-SVN: r2511
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index edf4889..2cfc103 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -2386,10 +2386,11 @@ canon_reg (x, insn)
/* If replacing pseudo with hard reg or vice versa, ensure the
insn remains valid. Likewise if the insn has MATCH_DUPs. */
- if (new && GET_CODE (new) == REG && GET_CODE (XEXP (x, i)) == REG
+ if (insn != 0 && new != 0
+ && GET_CODE (new) == REG && GET_CODE (XEXP (x, i)) == REG
&& (((REGNO (new) < FIRST_PSEUDO_REGISTER)
!= (REGNO (XEXP (x, i)) < FIRST_PSEUDO_REGISTER))
- || (insn != 0 && insn_n_dups[recog_memoized (insn)] > 0)))
+ || insn_n_dups[recog_memoized (insn)] > 0))
validate_change (insn, &XEXP (x, i), new, 1);
else
XEXP (x, i) = new;