Age | Commit message (Collapse) | Author | Files | Lines |
|
identical.
From-SVN: r6692
|
|
needed.
From-SVN: r6676
|
|
From-SVN: r6612
|
|
and adding reg-int.
From-SVN: r6530
|
|
From-SVN: r6523
|
|
something further on.
From-SVN: r6475
|
|
to avoid 2-groups whose second register is explicitly used.
From-SVN: r6047
|
|
(choose_reload_regs): Ditto.
From-SVN: r5820
|
|
* reload1.c (eliminate_regs_in_insn): Rerecognize some loads and
stores.
From-SVN: r5792
|
|
reloads.
From-SVN: r5754
|
|
exactly the same as a PLUS with a REG operand.
From-SVN: r5549
|
|
(eliminate_regs): All recursive calls now pass INSN
instead of NULL_RTX. Second assignment to ref_outside_mem changed
to be same as first assignment.
From-SVN: r5517
|
|
From-SVN: r5489
|
|
(eliminate_regs): Use new macros LOAD_EXTEND_OP and
WORD_REGISTER_OPERATION instead of BYTE_LOADS_*_EXTEND and
LOAD_EXTEND.
From-SVN: r5476
|
|
FRAME_POINTER_REGNUM.
* reload1.c: (init_reload): use HARD_FRAME_POINTER_REGNUM instead of
FRAME_POINTER_REGNUM.
(reload): Only prohibit elimination of HARD_FRAME_POINTER_REGNUM, not
FRAME_POINTER_REGNUM if frame_pointer_needed. Never prohibit
elimination of FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM.
Mark HARD_FRAME_POINTER_REGNUM as live at the start of a block if
it is still needed after elimination.
(eliminate_regs): For non-local goto's, don't delete stores into the
hard frame pointer.
(eliminate_regs_in_insn): adjust comment.
(mark_not_eliminable): if frame_pointer_rtx and hard_frame_pointer_rtx
are not the same, then frame_pointer_rtx is eliminable;
hard_frame_pointer_rtx never is if it is set..
(order_regs_for_reload): HARD_FRAME_POINTER_REGNUM is a bad spill reg.
(choose_reload_regs): HARD_FRAME_POINTER_REGNUM is a bad choice.
From-SVN: r5463
|
|
From-SVN: r5448
|
|
EXPR_LIST or INSN_LIST).
(eliminate_regs): Specially handle the case where INSN
is a note (an EXPR_LIST or INSN_LIST).
(eliminate_regs_in_insn): Pass the notes as INSN,
when calling eliminate_insn to process the notes.
From-SVN: r5445
|
|
From-SVN: r5071
|
|
changed anything in the insn.
From-SVN: r5069
|
|
From-SVN: r4925
|
|
register into proper mode.
From-SVN: r4855
|
|
From-SVN: r4823
|
|
of the form (mem (reg)).
From-SVN: r4761
|
|
(reload): Call it on each SCRATCH.
Free scratch list and block.
(spill_hard_reg): Reallocate any SCRATCH whose register we want to spill.
From-SVN: r4712
|
|
eliminate_regs would use.
From-SVN: r4663
|
|
regs spilled for earlier classes can satisfy it.
From-SVN: r4597
|
|
set for that pseudo.
(delete_output_reload): Don't delete output reload
if cannot_omit_stores is set for that pseudo.
(reload): Init and clear cannot_omit_stores.
(eliminate_regs): Set cannot_omit_stores.
From-SVN: r4574
|
|
and reload_out has a wider mode, just copy from that spill reg,
don't use it for the reload.
From-SVN: r4555
|
|
when inheriting from reg_last_reload_reg.
From-SVN: r4524
|
|
From-SVN: r4492
|
|
From-SVN: r4464
|
|
From-SVN: r4375
|
|
(reload_as_needed): Pass that second arg.
From-SVN: r4370
|
|
(eliminate_regs, case SUBREG): Leave the SUBREG when
the inner object is a pseudo on machines that extend byte
loads (to be consistent with reload.c).
From-SVN: r4304
|
|
not if the next insn is a clobber.
From-SVN: r4198
|
|
From-SVN: r4166
|
|
From-SVN: r4026
|
|
input reload if it also has an output reload.
From-SVN: r3994
|
|
(clear_reload_reg_in_use): New function.
(allocate_reload_reg): Don't consider an inherited register as one that we
should share in the first pass.
Don't mark a register in use until we are sure it will fit.
(choose_reload_regs): Mark spill regs used for inheriting.
When we decide we can no longer use a register, show it isn't being used.
From-SVN: r3991
|
|
From-SVN: r3926
|
|
(emit_reload_insns): Properly track what was reloaded into what
register when what we reloaded was a hard register group.
From-SVN: r3921
|
|
(REGISTER_MOVE_COST, MEMORY_MOVE_COST): Include default definitions.
(reload): Count number of registers needed for insn using new reload type
information.
If mode of insn is DImode, don't change it.
Refine the way we handle conflict with the return value register.
Don't try to account for needs already covered by previously spilled
registers; instead, put them back in the front of potential_reload_regs and
let them be allocated again.
(order_regs_for_reload): Don't restrict regs explicitly used if we have
SMALL_REGISTER_CLASSES defined.
(reload_as_needed): Don't need to deactivate optional reloads ever; if they
inherit, it must have been safe.
Call merge_assigned_reloads if SMALL_REGISTER_CLASSES.
(reload_reg_used_*): Refine our tracking of reload reg usage by defining more
of these HARD_REG_SETs.
(mark_reload_reg_in_use, reload_reg_free_p): Rework to use new method of
describing where a reload register is used.
(reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
(allocate_reload_reg): Pass new reload descriptions.
(choose_reload_regs): Likewise.
Save and restore the new HARD_REG_SETs.
Remove now-redundant code to prevent conflicts.
(merge_assigned_reloads): New function.
(emit_reload_insns): Output each reload type into its own sequence, then
output the sequences in the proper order.
Put our output reloads after a CLOBBER made by find_reloads.
Pass ALL_REGS to find_equiv_regs; nothing special about GENERAL_REGS.
Don't use an old equivalence if doing so would be more expensive.
Clean up tracking of values still in reload regs using reload description
info to see if the reload reaches the end of the insn.
(gen_input_reload): Pass reload description and emit insns to end of current
sequence.
(inc_for_reload): Return void; no longer need INSN as operand.
Emit insns to end of current sequence.
From-SVN: r3910
|
|
From-SVN: r3826
|
|
before comparing with relaod_earlyclobber elements.
From-SVN: r3731
|
|
when matching output reloads for setting reload_when_needed.
From-SVN: r3670
|
|
with allocating a group.
(reload): After calling count_possible_groups, see if we have to proceed
with allocating a group.
(count_possible_groups): Use HARD_REG_SET, not a char array, for consistency.
From-SVN: r3309
|
|
From-SVN: r3215
|
|
From-SVN: r3197
|
|
forget_old_reloads_1 for a REG_INC note was backwards.
From-SVN: r3177
|
|
uses the function value return register...
(reload) [SMALL_REGISTER_CLASSES]: When adding an extra
need if the insn uses the function value return register,
likewise add an extra single-reg need for each class in which
the insn needs a group.
From-SVN: r3141
|