r197525 - in /branches/ira-improv/gcc: ChangeLo...

vmakarov@gcc.gnu.org vmakarov@gcc.gnu.org
Fri Apr 5 16:50:00 GMT 2013


Author: vmakarov
Date: Fri Apr  5 16:50:41 2013
New Revision: 197525

URL: http://gcc.gnu.org/viewcvs?rev=197525&root=gcc&view=rev
Log:
2013-04-05  Vladimir Makarov  <vmakarov@redhat.com>

	* common.opt (fira-hard-reg-pref): New.
	* regmove.c (regmove_optimize): Don't call regmove_forward_pass
	for flag_ira_hard_reg_pref.
	* ira-int.h (ira_pref_t, allocno_prefs, ALLOCNO_PREFS): New.
	(struct ira_allocno_pref, ira_prefs, ira_prefs_num): New.
	(ira_debug_pref, ira_debug_prefs, ira_debug_allocno_prefs): New.
	(ira_create_pref, ira_create_copy): New.
	(ira_add_allocno_copy_to_list): Remove.
	(ira_swap_allocno_copy_ends_if_necessary): Ditto.
	(ira_pref_iterator, ira_pref_iter_init, ira_pref_iter_cond): New.
	(FOR_EACH_PREF): New.
	* ira-build.c (ira_prefs, ira_prefs_num): New.
	(ira_create_allocno): Reset preferences.
	(pref_pool, pref_vec, initiate_prefs, find_allocno_pref)
	(ira_create_pref, add_allocno_pref_to_list, ira_add_allocno_pref)
	(print_pref, ira_debug_pref, print_prefs, ira_debug_prefs)
	(print_allocno_prefs, ira_debug_allocno_prefs, finish_pref)
	(finish_prefs): New.
	(ira_add_allocno_copy_to_list): Rename to
	add_allocno_copy_to_list.  Make static.
	(ira_swap_allocno_copy_ends_if_necessary): Rename to
	swap_allocno_copy_ends_if_necessary.  Make static.
	(ira_build, ira_destroy): Initialize and finish the prefs.
	* ira-color.c (update_allocno_cost, update_costs_from_allocno):
	New.
	(update_copy_costs): Rename to update_costs_from_copies.  Use
	update_costs_from_allocno.
	(update_costs_from_prefs, update_costs_from_copies): New.
	(assign_hard_reg): Call update_costs_from_prefs.
	(color_allocnos, color_pass): Ditto.
	* ira-costs.c (find_costs_and_classes): Improve code.  Add code for
	hard reg preferences.
	(process_bb_node_for_hard_reg_moves): Add code for hard reg
	preferences.


Modified:
    branches/ira-improv/gcc/ChangeLog
    branches/ira-improv/gcc/common.opt
    branches/ira-improv/gcc/ira-build.c
    branches/ira-improv/gcc/ira-color.c
    branches/ira-improv/gcc/ira-costs.c
    branches/ira-improv/gcc/ira-int.h
    branches/ira-improv/gcc/regmove.c



More information about the Gcc-cvs mailing list