2008-05-02 Vladimir Makarov <vmakarov@redhat.com>
commitc882dfd001f77b425687da835f3795e1bda8f2f3
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 May 2008 20:29:16 +0000 (2 20:29 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 May 2008 20:29:16 +0000 (2 20:29 +0000)
tree21c3fbc6447b7c0470ab61f5aef4796ca46c4b2f
parentf1d23e343b8ad919f606d8480242aeb617a808db
2008-05-02  Vladimir Makarov  <vmakarov@redhat.com>

* ira-conflicts.c (print_conflicts): Exclude non-allocatable hard
regs and hard regs from different cover classes.
(ira_build_conflicts): Build conflicts only for optimization mode.

* cfgloopanal.c (estimate_reg_pressure_cost): Decrease cost only
for optimization mode.

* caller-save.c (caller-save.c, calculate_local_save_info,
save_call_clobbered_regs): Do save/restore placement optimization
and sharing stack slots only for optimization mode.

* ira-int.h (set_allocno_cover_class, ira_fast_allocation): New
prototypes.

* ira-color.c (assign_hard_reg): Clear conflicting_regs.
(allocno_assign_compare_func, allocno_assign_compare_func): New
functions.

* global.c (build_insn_chain): Add spilled pseudos only in
optimization mode.

* ira-emit.c (modify_move_list): Use set_allocno_cover_class.

* alias.c (nonoverlapping_memrefs_p): Check addresses only in
optimization mode.

* ira-build.c (create_allocno): Initialize
ALLOCNO_CONFLICT_HARD_REGS and ALLOCNO_TOTAL_CONFLICT_HARD_REGS by
non-allocatable hard reg set.
(set_allocno_cover_class): New function.
(create_cap_allocno): Use set_allocno_cover_class.
(ira_build): Call create_loop_tree_node_caps,
propagate_info_to_loop_tree_node_caps, and
propagate_info_to_loop_tree_node_caps only in optimization mode.
* ira.c (setup_reg_renumber): Add optimize to ira_assert.
(ira): Call find_reg_equiv_invariant_const, ira_color,
sort_insn_chain, and fix_reg_equiv_init only in optimization mode.
Call ira_fast_allocation for -O0.  Use right argument for reload.

* ira-costs.c (find_allocno_class_costs): Use important_classes
only for optimization mode.
(setup_allocno_cover_class_and_costs): Use
set_allocno_cover_class.  Initialize cost vectors only in
optimization mode.  Call process_bb_node_for_hard_reg_moves only
in optimization mode.

* reload1.c (compute_use_by_pseudos): Add optimize to ira_assert.
(reload): Sort pseudo-registers only optimization mode.  Restore
original order for insn chain only in optimization mode.
(calculate_needs_all_insns): Call mark_memory_move_deletion only
in optimization mode.
(count_pseudo, count_spilled_pseudo): Check spilled pseudos only
in optimization mode.
(alter_reg): Share stack slots only in optimization mode.
(finish_spills): Check spilled pseudos only in optimization mode.
(emit_input_reload_insns, delete_output_reload): Call
mark_allocation_change only in optimization mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ira@134890 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/alias.c
gcc/caller-save.c
gcc/cfgloopanal.c
gcc/global.c
gcc/ira-build.c
gcc/ira-color.c
gcc/ira-conflicts.c
gcc/ira-costs.c
gcc/ira-emit.c
gcc/ira-int.h
gcc/ira.c
gcc/reload1.c