From 347099d6ef97a689c52d883c5547f024a719da24 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Tue, 15 Sep 1992 04:47:08 +0000 Subject: [PATCH] (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 --- gcc/regclass.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/regclass.c b/gcc/regclass.c index 343d30393ef..74b2d7a907e 100644 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -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