Commit 347099d6 by Richard Stallman

(record_reg_classes): Ignore leading % when examining constraint.

Don't bypass usual cost computation when a pseudo "matches"
a non-pseudo in matching operands.

From-SVN: r2123
parent 69c3f343
...@@ -910,6 +910,9 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn) ...@@ -910,6 +910,9 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
continue; continue;
} }
if (*p == '%')
p++;
/* If this alternative is only relevant when this operand /* If this alternative is only relevant when this operand
matches a previous operand, we do different things depending matches a previous operand, we do different things depending
on whether this operand is a pseudo-reg or not. */ 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) ...@@ -967,9 +970,11 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
this_op_costs[i] = this_op_costs[j]; this_op_costs[i] = this_op_costs[j];
if (! find_reg_note (insn, REG_DEAD, op)) if (! find_reg_note (insn, REG_DEAD, op))
alt_cost += 2; 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 /* Scan all the constraint letters. See if the operand matches
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment