* local-alloc.c (block_alloc): Stop looping over the input
operands once we find an input/output register pair which can
be combined into a single qty.
From-SVN: r8990
(alloc_qty{,_for_scratch}, update_qty_class): Set it.
(local_alloc): Allocate it.
(find_free_reg): If CLASS_CANNOT_CHANGE_SIZE, avoid its registers if
qty_changes_size.
From-SVN: r7865
(requires_inout): Renamed from requires_inout_p and returns number of
alternatives that require a match.
(block_alloc): Use new function and handle case where all alternatives have
some operand that must match operand 0.
From-SVN: r7358
(qty_phys_has{,_copy}_sugg): Deleted.
(qty_sugg_compare{,_1}): New functions.
(local_alloc): Allocate and init new vars instead of deleted ones.
(block_alloc): Update and use new vars.
Order quantities using new functions when allocating quantities with
suggested registers.
(combine_regs, find_free_reg): Use new vars to count number of suggestions.
From-SVN: r7356
(alloc_qty_for_scratch): Can allocate likely-spilled register classes
for SCRATCH.
(block_alloc): Likewise for regs in small register classes.
From-SVN: r4719
(local_alloc): Allocate and initialize them.
(block_alloc): Only allocate a SCRATCH if it can fit in the block we make.
Don't mark regs used in SCRATCH live here; instead, make entry in new tables.
From-SVN: r4713
(qty_first_reg, reg_next_in_qty): Make int, not short.
(local_alloc): Allocate these as arrays of ints.
(block_alloc, qty_compare_1): qty_order is now array of ints.
From-SVN: r4167
(block_alloc): Generalize tying so we can tie any operand with the
output unless some operand must be in the same register as the output,
in which case only try tying that operand.
From-SVN: r3075
(optimize_reg_copy_1): Tighten up code to properly handle the case
when SRC or DEST is a multi-word hard register and only some parts of
the register are set or used. Also, avoid updating register status
for DEST if we can't do the optimization.
From-SVN: r2380
(alloc_qty_for_scratch, block_alloc): Provide alternate code in some cases
when REGISTER_CONSTRAINTS is not defined.
(requires_inout_p): Only used when REGISTER_CONSTRAINTS is defined.
From-SVN: r1899