Commit Graph

104 Commits

Author SHA1 Message Date
Richard Kenner a229128df5 (push_reload): Initialize secondary_{in,out}_icode.
From-SVN: r9282
1995-04-01 08:50:50 -05:00
Richard Kenner 94bafba741 (push_reload): Reload a SUBREG if paradoxical and class is
CLASS_CANNOT_CHANGE_SIZE.

From-SVN: r9207
1995-03-18 16:58:30 -05:00
Jim Wilson 26ba4aeef6 (find_reloads, case 'o'): Accept a fully reloaded auto-increment address.
From-SVN: r9168
1995-03-10 11:50:49 -08:00
Richard Kenner f7393e851a Fix formatting.
From-SVN: r9116
1995-03-02 19:20:50 -05:00
Doug Evans 75301d683a (find_reloads_address): Fix typo in reg+const case.
From-SVN: r9087
1995-02-27 01:21:28 +00:00
Jim Wilson 369c7ab612 (find_equiv_reg): Exclude registers clobbered in the
CALL_INSN_FUNCTION_USAGE field of a CALL_INSN.

From-SVN: r8696
1994-12-28 18:17:58 -08:00
Richard Kenner cd8ce14b50 (debug_reload): Use GET_MODE_NAME to avoid warning.
From-SVN: r8647
1994-12-12 17:22:05 -05:00
Steve Chamberlain 5f8997b957 *** empty log message ***
From-SVN: r8640
1994-12-09 23:52:37 +00:00
Richard Kenner 8922eb5b24 (combine_reloads): If using reg dying in this insn as reload reg,
ensure it can't be a secondary output reload reg.

From-SVN: r8584
1994-11-30 18:04:48 -05:00
Ian Lance Taylor f76b9db287 Check target endianness at run time, not compile time
From-SVN: r8470
1994-11-16 21:10:09 +00:00
Richard Kenner 10bcde0da9 (debug_reload): New function to print reload info set up by
find_reloads.

From-SVN: r8348
1994-10-27 13:05:04 -04:00
Richard Kenner a864776614 Update comment.
From-SVN: r8283
1994-10-17 11:30:22 -04:00
Richard Kenner d149d5f5d9 (n_occurrences): Make arg int, not char.
From-SVN: r8147
1994-09-27 18:30:21 -04:00
Richard Kenner 5c73e8471a (find_reloads, case 'p'): Operand is BASE_REG_CLASS.
From-SVN: r8053
1994-09-09 14:52:45 -04:00
Richard Kenner ace53910c4 (find_reloads_address): Don't reorder the operands of a PLUS when
fixing up index.

From-SVN: r8028
1994-09-06 18:37:49 -04:00
Richard Kenner beb5a9b86e (find_reloads): Force reload for paradoxical SUBREG of MEM if
BYTES_BIG_ENDIAN.

From-SVN: r7875
1994-08-08 19:25:16 -04:00
Richard Kenner 486d850940 (push_reload): Make test in LOAD_EXTEND_OP case more precise; handle CLASS_CANNOT_CHANGE_SIZE.
(push_reload): Make test in LOAD_EXTEND_OP case more precise; handle
CLASS_CANNOT_CHANGE_SIZE.
(find_relods): When setting force_reloads, make LOAD_EXTEND_OP case
more precise.

From-SVN: r7868
1994-08-07 08:53:02 -04:00
Richard Kenner 59f25cf9ab (find_reloads): Don't try to call force_const_mem on a HIGH.
From-SVN: r7750
1994-07-12 15:09:44 -04:00
Richard Kenner 73b236b5f6 (find_reloads): Don't rejecting non-const due to value of
PREFERRED_RELOAD_CLASS if no regs were valid for alternative.

From-SVN: r7541
1994-06-23 17:59:22 -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 f98bb7d33f (find_reloads): Change secondary reloads of class
RELOAD_FOR_OPERAND_ADDRESS to RELOAD_FOR_OPADDR_ADDR.

From-SVN: r7461
1994-06-14 17:36:25 -04:00
Richard Kenner 6ded32282b (find_reloads): Revert to old code and change secondary reloads to
RELOAD_FOR_OPERAND_ADDRESS too.

From-SVN: r7371
1994-05-27 16:47:01 -04:00
Richard Kenner 9d926da563 (find_reloads): Properly account for cost when constant is forced to
memory to ensure same alternative chosen later.

From-SVN: r7319
1994-05-17 15:51:48 -04:00
Richard Kenner c831a92041 (find_reloads): Don't change a secondary reload to
RELOAD_FOR_OPERAND_ADDRESS.

From-SVN: r7284
1994-05-12 18:42:15 -04:00
Richard Kenner 5e6aa5131b (find_reloads): Ignore alternatives that will not be reloadable due to
PREFERRED_RELOAD_CLASS.

From-SVN: r7257
1994-05-06 18:55:32 -04:00
Richard Kenner d94d2abc86 (push_secondary_reload): Use TYPE for secondary type if it is
RELOAD_FOR_{INPUT,OUTPUT}_ADDRESS.

From-SVN: r7211
1994-05-04 17:12:27 -04:00
Richard Kenner f81c389dd5 (find_reloads_address): Remove two block-scope decls of unused
variable OLDREF.

From-SVN: r6890
1994-03-25 14:16:50 -05:00
Richard Kenner 64609742de (get_secondary_mem): Call SECONDARY_MEMORY_NEEDED_MODE if it is
defined.

From-SVN: r6697
1994-03-05 19:17:12 -05:00
Richard Kenner a2d353e50c (find_reloads): Don't restrict class of multiword operand to preferred class.
(find_reloads_address_1): Rework to use `switch'.
Reload a SUBREG of a hard reg as a unit.

From-SVN: r6622
1994-02-25 07:19:23 -05:00
Richard Kenner 9ec7078b69 (reload_secondary_{reload,icode}): Deleted.
(reload_secondary_{in,out}_{reload,icode}): New variables.
(MATCHES, MERGABLE_RELOADS, MERGE_TO_OTHER): Move to front of file.
(push_secondary_reload): New function, from find_secondary_reload.
(find_secondary_relaod): Deleted.
(push_reload): Call push_secondary_reload.
(combine_reloads): Use new vars for secondary reloads and icodes.

From-SVN: r6522
1994-02-10 09:04:07 -05:00
Richard Kenner 2d55b7e858 (find_reloads): Properly test for output operand when changing
RELOAD_FOR_OUTPUT_ADDRESS to RELOAD_FOR_INPUT_ADDRESS.

From-SVN: r6420
1994-01-23 20:11:18 -05:00
Richard Kenner 03b72c86a8 (push_reload...
(push_reload, find_reloads): Reload inside a paradoxical SUBREG of MEM
except don't force a reload unless the inner mode is narrower than
BIGGEST_ALIGNMENT.

From-SVN: r6302
1993-12-24 08:33:15 -05:00
Richard Kenner fd72420f23 (find_reloads_toplev): Replace obsolete reference to
BYTE_LOADS_*_EXTEND with LOAD_EXTEND_OP.

From-SVN: r6174
1993-12-02 06:45:55 -05:00
Richard Stallman 0ba9317ecc (push_reload): Allow RELOAD_FOR_INPUT with a secondary
reload the same class as the input if the modes differ.

From-SVN: r6089
1993-11-15 00:20:51 +00:00
Richard Kenner 3a322c50e1 (find_reloads, case 'o'): A pseudo is not always an offsettable memref.
(find_reloads): If we reload a constant into a register via memory, count it
as two reloads.

From-SVN: r6000
1993-11-04 19:00:08 -05:00
Richard Kenner ca76982841 (push_reload, find_reloads): If an operand is a SUBREG of a PLUS,
force a reload and reload what is inside.

From-SVN: r5814
1993-10-19 19:20:04 -04:00
Jim Wilson d9771f6295 (form_sum): Undo Sep 28 change.
From-SVN: r5548
1993-10-01 15:27:08 -07:00
Richard Stallman 0d38001f71 (find_reloads): Don't call find_reloads_toplev
(or anything like that)	for match_operator operands.

From-SVN: r5527
1993-09-29 02:21:41 +00:00
Jim Wilson 0ec1e3690e (form_sum): Change the way that form_sum canonicalizes addresses...
(form_sum): Change the way that form_sum canonicalizes
addresses, so that it never creates (PLUS (PLUS MEM CONST_INT) REG)
but instead canonicallizes this to (PLUS (PLUS REG CONST_INT) MEM).

From-SVN: r5506
1993-09-28 15:22:08 -07:00
Richard Kenner 09bf025089 (push_reload...
(push_reload, find_reloads): Use new macros LOAD_EXTEND_OP and
WORD_REGISTER_OPERATION instead of BYTE_LOADS_*_EXTEND and
LOAD_EXTEND.

From-SVN: r5475
1993-09-25 08:22:29 -04:00
Doug Evans a36d4c6259 reload.c: (immune_p): Constants never overlap hard frame pointer references.
* reload.c: (immune_p): Constants never overlap hard frame pointer references.
(find_reloads_address): Compute invalid references to the hard
frame pointer in a register; also (reg + const)
and (reg + reg + const).

From-SVN: r5462
1993-09-24 19:50:44 +00:00
Richard Kenner e64c4f9e2e (find_reloads): Reject an alternative if two operands match the same
output and we have to do a reload.

From-SVN: r5363
1993-09-19 12:48:55 -04:00
Richard Kenner 4644aad40e (earlyclobber_operand_p): New function.
(combine_reloads): Use it.
(find_reloads): Set reload_earlyclobbers earlier.
(refers_to_regno_for_reload_p): Count something being stored into if it is
an earlyclobber operand.

From-SVN: r5352
1993-09-18 07:57:54 -04:00
Richard Stallman 944d7b1408 (find_reloads): For PLUS operand, call find_reloads_toplev.
From-SVN: r5342
1993-09-16 17:35:50 +00:00
Richard Stallman adb44af89e (find_reloads): Fix bugs in previous change.
From-SVN: r5329
1993-09-15 13:40:11 +00:00
Richard Stallman 36b505688d (find_dummy_reload): New args inmode, outmode.
(find_reloads): Pass new args.
(push_reload): Likewise.

From-SVN: r5319
1993-09-14 16:39:28 +00:00
Richard Kenner 915bb7632b (find_reloads): Bump REJECT for a hard register; just not for a
pseudo.

From-SVN: r5244
1993-09-01 18:46:03 -04:00
Jim Wilson 87935f601e (find_reloads_address_1): Handle SUBREGs same as REGs.
From-SVN: r5240
1993-09-01 15:07:57 -07:00
Jim Wilson f40fac9b07 (push_reload): Abort is secondary_reload wants same
class as an input reload.

From-SVN: r5236
1993-08-31 14:22:41 -07:00
Richard Kenner 92b376919d (find_reloads): Don't combine two reloads if their reload_reg_rtx
values differ.

From-SVN: r5103
1993-08-07 18:21:23 -04:00