This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r136176 - in /branches/ira/gcc: ChangeLog Makef...
- From: vmakarov at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 29 May 2008 17:16:08 -0000
- Subject: r136176 - in /branches/ira/gcc: ChangeLog Makef...
Author: vmakarov
Date: Thu May 29 17:16:08 2008
New Revision: 136176
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136176
Log:
2008-05-29 Vladimir Makarov <vmakarov@redhat.com>
* Makefile.in (caller-save.o): Add CFGLOOP_H.
* ira.c (ira): Call flow_loops_find after the allocation before
the reload.
* global.c (print_insn_chain): Print bitmap saved.
* reload.h (insn_chain): Add members saved and saved_pseudo_regno.
* reload1.c (changed_allocation_pseudos): New bitmap.
(init_reload): Initiate the bitmap.
(new_insn_chain): Initiate bitmap saved.
(order_regs_for_reload): Check bitmap saved.
(find_reg): Check bitmap saved to find register.
(delete_caller_save_insns): Print about removing caller-save insn.
Invalidate reload register taken from saved registers.
Recalculate used_spill_regs.
(finish_spills): Check bitmap saved. Set up
changed_allocation_pseudos. Remove sanity check.
* caller-save.c (cfgloop.h): Add the header.
(set_regs): New variable.
(bb_info): Remove members empty_save_in_p, kill, gen. Add members
empty_save_out_p, empty_restore_in_p, save_kill, save_gen,
restore_kill, restore_gen, free_gen, restore_in, restore_out,
free_in, free_out, live_at_end, restore_here, restore_in_mode,
restore_out_mode, save_in_pseudo, save_out_pseudo,
restore_in_pseudo, restore_out_pseudo.
(loop_info): New structure.
(LOOP_INFO): New macro.
(calculate_local_save_info): Add calculation of new bb_info
members for local info.
(restore_trans_fun, restore_con_fun_0, restore_con_fun_n,
calculate_restore_in_out, calculate_restore_here, free_trans_fun,
free_con_fun_0, free_con_fun_n, calculate_free_in_out): New
functions.
(make_global_save_analysis): Add calculation of new bb_info
members for global info.
(print_hard_reg_set_and_mode): Rename to
print_annotated_hard_reg_set. Print pseudo regnos too.
(print_save_data): Add printing new bb_info members.
(set_hard_reg_saved): New parameters from_saved_pseudo,
save_pseudo. Set them up.
(save_call_clobbered_regs): Rewrite.
(mark_referenced_regs): Set up set_regs.
(insert_restore, insert_save): New parameter save_pseudo. Use it
for setting save_pseudo_regno and for debugging output.
* ira-conflicts.c (build_conflict_bit_table): Check min/max.
* ira-build.c (conflict_vector_profitable_p): Ditto.
(clear_allocno_conflicts): Check that conflict allocno array size.
Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/Makefile.in
branches/ira/gcc/caller-save.c
branches/ira/gcc/global.c
branches/ira/gcc/ira-build.c
branches/ira/gcc/ira-conflicts.c
branches/ira/gcc/ira.c
branches/ira/gcc/reload.h
branches/ira/gcc/reload1.c