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
Richard Kenner
a61c98cf7f
(push_reload, find_reloads): Treat (subreg (pseudo)) and (subreg (mem)) the same.
...
(push_reload, find_reloads): Treat (subreg (pseudo)) and (subreg (mem))
the same.
If we have (subreg:M1 (mem:M2 ...) ...), never do anything special if M1
and M2 are the same size.
From-SVN: r5097
1993-08-07 07:42:21 -04:00
Richard Kenner
f72ccbe63a
(push_reload, find_reloads): Refine when we reload inside a SUBREG by respecting BYTE_LOADS_*_EXTEND...
...
(push_reload, find_reloads): Refine when we reload inside a SUBREG by
respecting BYTE_LOADS_*_EXTEND; see comments in push_reload.
From-SVN: r5076
1993-08-05 19:17:30 -04:00