r129185 - in /branches/ira/gcc: ChangeLog commo...

vmakarov@gcc.gnu.org vmakarov@gcc.gnu.org
Tue Oct 9 22:10:00 GMT 2007


Author: vmakarov
Date: Tue Oct  9 22:10:28 2007
New Revision: 129185

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129185
Log:
2007-10-09  Vladimir Makarov  <vmakarov@redhat.com>

	* toplev.h (flag_ira_coalesce): New external variable.

	* ira-int.h (allocno): New members first_coalesced_allocno,
	next_coalesced_allocno.
	(ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO):
	New macros.
	(reg_class_subintersect): New external variable.

	* ira-color.c (processed_allocno_bitmap): New variable.
	(allocno_cost_compare_func, print_coalesced_allocno): New
	functions.
	(assign_hard_reg): Process coalesced allocnos.
	(get_coalesced_allocnos_best_class_and_freq): New function.
	(add_allocno_to_ordered_bucket): Use the function.
	(push_allocno_to_stack, push_allocnos_to_stack): Process coalesced
	allocnos.
	(remove_allocno_from_bucket_and_push, pop_allocnos_from_stack):
	Use print_coalesced_allocno.
	(setup_allocno_available_regs_num,
	setup_allocno_left_conflicts_num): Process coalesced allocnos.
	(copy_freq_compare_func, allocno_conflict_p, coalesce_allocnos):
	New functions.
	(color_allocnos): Allocate/free processed_allocno_bitmap.  Call
	coalesce_allocnos.
	(priority_coloring): Allocate/free processed_allocno_bitmap.

	* ira-build.c (check_coalesced_allocnos): New function.
	(create_allocno): Initiate next_coalesced_allocno,
	first_coalesced_allocno.
	(create_cap_allocno): Check  next_coalesced_allocno,
	first_coalesced_allocno.

	* common.opt (fira-coalesce): New option.

	* ira.c (setup_reg_class_intersect): New function.
	(reg_class_subintersect): New global variable.
	(init_ira_once): Call setup_reg_class_intersect.

	* doc/invoke.texi (-fira-coalescing): New option.


Modified:
    branches/ira/gcc/ChangeLog
    branches/ira/gcc/common.opt
    branches/ira/gcc/doc/invoke.texi
    branches/ira/gcc/ira-build.c
    branches/ira/gcc/ira-color.c
    branches/ira/gcc/ira-int.h
    branches/ira/gcc/ira.c
    branches/ira/gcc/toplev.h



More information about the Gcc-cvs mailing list