Commit Graph

37 Commits

Author SHA1 Message Date
Richard Kenner
c182df0b41 (wipe_dead_reg): Make a register mentioned in a REG_INC note die after
the instruction.

From-SVN: r10264
1995-08-21 13:15:57 -04:00
Richard Kenner
a35311b035 Update FSF address.
From-SVN: r9961
1995-06-15 07:52:21 -04:00
Richard Kenner
9faa82d8c0 Fix typos in comments.
From-SVN: r9712
1995-05-16 08:39:54 -04:00
Jeff Law
662347c508 local-alloc.c (block_alloc): Stop looping over the input operands once we find an input/output register pair...
* 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
1995-02-21 10:41:05 -07:00
Richard Kenner
899d4140a3 (find_free_reg): Fix typo in last change.
From-SVN: r7871
1994-08-08 16:31:51 -04:00
Richard Kenner
0f64b8f696 (qty_changes_size): New variable.
(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
1994-08-07 08:51:35 -04:00
Richard Kenner
4c9a05bc55 Cast pointer operands to bzero, bcopy, and bcmp to (char *).
From-SVN: r7472
1994-06-14 18:19:28 -04:00
Richard Kenner
fc0e5bd00e (local_alloc): Fix typo in last change.
From-SVN: r7361
1994-05-27 11:53:02 -04:00
Richard Kenner
3061cc5422 (requires_inout): Renamed from requires_inout_p and returns number of alternatives that require a match.
(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
1994-05-27 06:27:03 -04:00
Richard Kenner
a6ba1470c2 (qty_sugg_compare_1): Fix typo in last change.
From-SVN: r7357
1994-05-27 06:16:16 -04:00
Richard Kenner
51b86d8b0d (qty_phys_num{,_copy}_sugg): New variables.
(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
1994-05-27 06:03:04 -04:00
Richard Kenner
82c68a7824 Add prototypes for static functions.
From-SVN: r7118
1994-04-21 15:31:56 -04:00
Richard Kenner
69887ad921 Remove previous Berg change.
From-SVN: r6998
1994-04-08 18:08:42 -04:00
Richard Kenner
ce940f3d1f (block_alloc): Avoid #ifdef HARD_REG_SET.
From-SVN: r6976
1994-04-06 07:08:16 -04:00
Richard Kenner
6680889fb7 (qty_compare{,_1}): Give multi-word regs higher priority, as stated in
the comments.

From-SVN: r6649
1994-02-27 11:29:35 -05:00
Richard Kenner
da2c9ff982 (optimize_reg_copy): A register that dies in a CALL_INSN doesn't cross
that call.

From-SVN: r6555
1994-02-14 19:16:58 -05:00
Jim Wilson
2d19a71c10 (optimize_reg_copy_1): After decreasing sregno's
reg_live_length, correct it if it is now obviously too small.

From-SVN: r6291
1993-12-23 17:35:17 -08:00
Doug Evans
c2618f0522 local-alloc.c: (find_free_reg): Make sure we will always be able to eliminate...
* local-alloc.c: (find_free_reg): Make sure we will always be able
to eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM.

From-SVN: r5460
1993-09-24 19:49:18 +00:00
Jim Wilson
2a81034fac (block_alloc): Don't attempt to allocate a
SCRATCH if it will not fit in scratch_list.

From-SVN: r5058
1993-08-03 12:38:40 -07:00
Richard Kenner
e15eb3aa70 (alloc_qty_for_scratch): Can allocate likely-spilled register classes for SCRATCH.
(alloc_qty_for_scratch): Can allocate likely-spilled register classes
for SCRATCH.
(block_alloc): Likewise for regs in small register classes.

From-SVN: r4719
1993-06-23 19:17:47 -04:00
Richard Kenner
bd5f197aa1 (scratch_block, scratch_list{,_length}, scratch_index): New variables.
(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
1993-06-23 07:47:16 -04:00
Richard Stallman
a6665f8cf6 (block_alloc): Don't dereference a NULL pointer.
From-SVN: r4425
1993-05-11 20:59:58 +00:00
Richard Kenner
aabf56ce42 (qty_n_refs): Make int, like reg_n_refs.
(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
1993-04-16 20:24:06 -04:00
Richard Stallman
0cf4720c58 (optimize_reg_copy_1): Don't increment n_calls specially if P is a call_insn.
From-SVN: r3948
1993-03-31 08:31:13 +00:00
Richard Kenner
cde62d1aec (CLASS_LIKELY_SPILLED_P): Add default definition.
(alloc_qty_for_scratch, local_alloc): Use CLASS_LIKELY_SPILLED_P.

From-SVN: r3319
1993-01-24 07:18:57 -05:00
Richard Kenner
e19f519283 (find_free_reg): Add comment about nonlocal labels.
From-SVN: r3283
1993-01-19 18:23:39 -05:00
Richard Kenner
7aba0f0be5 (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...
(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
1993-01-03 19:00:20 -05:00
Jim Wilson
6102fe9527 (optimize_reg_copy_2): Correct reg_n_refs updates.
From-SVN: r2829
1992-12-01 10:44:27 -08:00
Richard Kenner
6c84e1541c (optimize_reg_copy_1): If P is a CALL_INSN, count it as being crossed
by SRC since SRC used to die there.

From-SVN: r2689
1992-11-04 07:23:39 -05:00
Richard Kenner
d9983d6c52 (optimize_reg_copy_1): Tighten up code to properly handle the case when...
(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
1992-10-09 07:28:53 -04:00
Richard Kenner
7fe4336e98 (alloc_qty_for_scratch, block_alloc): Provide alternate code in some cases when REGISTER_CONSTRAINTS is not defined.
(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
1992-08-19 17:06:37 -04:00
Charles Hannum
b1ec3c9262 entered into RCS
From-SVN: r1472
1992-07-06 20:04:10 +00:00
Richard Kenner
e4600702d9 *** empty log message ***
From-SVN: r1313
1992-06-27 13:49:28 -04:00
Richard Stallman
6dc42e49d3 *** empty log message ***
From-SVN: r930
1992-05-07 06:41:23 +00:00
Richard Stallman
333e0f7d36 *** empty log message ***
From-SVN: r562
1992-03-22 03:36:46 +00:00
Richard Stallman
d45cf215ee *** empty log message ***
From-SVN: r472
1992-03-14 05:07:15 +00:00
Richard Stallman
2bbd381950 Initial revision
From-SVN: r208
1992-01-18 02:47:09 +00:00