]> gcc.gnu.org Git - gcc.git/commitdiff
(record_reg_classes): Ignore leading % when examining constraint.
authorRichard Stallman <rms@gnu.org>
Tue, 15 Sep 1992 04:47:08 +0000 (04:47 +0000)
committerRichard Stallman <rms@gnu.org>
Tue, 15 Sep 1992 04:47:08 +0000 (04:47 +0000)
Don't bypass usual cost computation when a pseudo "matches"
a non-pseudo in matching operands.

From-SVN: r2123

gcc/regclass.c

index 343d30393ef81c44727c8672b79ad935afbfd004..74b2d7a907ec5cf9bfa72023a8f38555e7a2e5e9 100644 (file)
@@ -910,6 +910,9 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
              continue;
            }
 
+         if (*p == '%')
+           p++;
+
          /* If this alternative is only relevant when this operand
             matches a previous operand, we do different things depending
             on whether this operand is a pseudo-reg or not.  */
@@ -967,9 +970,11 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
                  this_op_costs[i] = this_op_costs[j];
                  if (! find_reg_note (insn, REG_DEAD, op))
                    alt_cost += 2;
-               }
 
-             continue;
+                 /* This is in place of ordinary cost computation
+                    for this operand.  */
+                 continue;
+               }
            }
 
          /* Scan all the constraint letters.  See if the operand matches
This page took 0.067147 seconds and 5 git commands to generate.