(canon_reg): Don't call validate_change if INSN is zero.
authorRichard Stallman <rms@gnu.org>
Sun, 18 Oct 1992 19:56:07 +0000 (19:56 +0000)
committerRichard Stallman <rms@gnu.org>
Sun, 18 Oct 1992 19:56:07 +0000 (19:56 +0000)
From-SVN: r2511

gcc/cse.c

index edf48896d448022093a0233e5afac48c320d8ea6..2cfc1036662aeb98140abdbb63f1b416abad0684 100644 (file)
--- 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;