Commit e37135f7 by Richard Henderson

* cse.c (find_best_addr): Kill !ADDRESS_COST code.

From-SVN: r62008
parent 4334c467
2003-01-23 Mike Stump <mrs@apple.com>
2003-01-28 Richard Henderson <rth@redhat.com>
* cse.c (find_best_addr): Kill !ADDRESS_COST code.
2003-01-23 Mike Stump <mrs@apple.com>
* regclass.c (init_reg_autoinc): New function.
(regclass): Move initialization of forbidden_inc_dec_class from
......
......@@ -2870,13 +2870,12 @@ canon_reg (x, insn)
is a good approximation for that cost. However, most RISC machines have
only a few (usually only one) memory reference formats. If an address is
valid at all, it is often just as cheap as any other address. Hence, for
RISC machines, we use the configuration macro `ADDRESS_COST' to compare the
costs of various addresses. For two addresses of equal cost, choose the one
with the highest `rtx_cost' value as that has the potential of eliminating
the most insns. For equal costs, we choose the first in the equivalence
class. Note that we ignore the fact that pseudo registers are cheaper
than hard registers here because we would also prefer the pseudo registers.
*/
RISC machines, we use `address_cost' to compare the costs of various
addresses. For two addresses of equal cost, choose the one with the
highest `rtx_cost' value as that has the potential of eliminating the
most insns. For equal costs, we choose the first in the equivalence
class. Note that we ignore the fact that pseudo registers are cheaper than
hard registers here because we would also prefer the pseudo registers. */
static void
find_best_addr (insn, loc, mode)
......@@ -2886,10 +2885,8 @@ find_best_addr (insn, loc, mode)
{
struct table_elt *elt;
rtx addr = *loc;
#ifdef ADDRESS_COST
struct table_elt *p;
int found_better = 1;
#endif
int save_do_not_record = do_not_record;
int save_hash_arg_in_memory = hash_arg_in_memory;
int addr_volatile;
......@@ -2953,22 +2950,6 @@ find_best_addr (insn, loc, mode)
elt = lookup (addr, hash, Pmode);
#ifndef ADDRESS_COST
if (elt)
{
int our_cost = elt->cost;
/* Find the lowest cost below ours that works. */
for (elt = elt->first_same_value; elt; elt = elt->next_same_value)
if (elt->cost < our_cost
&& (GET_CODE (elt->exp) == REG
|| exp_equiv_p (elt->exp, elt->exp, 1, 0))
&& validate_change (insn, loc,
canon_reg (copy_rtx (elt->exp), NULL_RTX), 0))
return;
}
#else
if (elt)
{
/* We need to find the best (under the criteria documented above) entry
......@@ -3099,7 +3080,6 @@ find_best_addr (insn, loc, mode)
}
}
}
#endif
}
/* Given an operation (CODE, *PARG1, *PARG2), where code is a comparison
......
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