This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Author: vmakarov
Date: Thu Aug 14 18:51:23 2008
New Revision: 139112

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139112
Log:
2008-08-1  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-conflicts.c (process_regs_for_copy): Don't add copy for
	conflicting allocnos.
	(propagate_allocno_copy_info, propagate_copy_info): Remove.
	(propagate_copies): New.
	(collected_conflict_allocnos): New.
	(remove_conflict_allocno_copies): Remove.
	(build_allocno_conflicts): Add parameter.  Build conflicts only
	for one allocno. Check cap too.  Don't free conflict table row.
	(build_conflicts): New.
	(ira_build_conflicts): Build conflicts before adding copies.  Free
	conflict bit table rows.

	* ira-color.c (color_pass): Check cap.  Process caps only once.
	Remove propagation code.
	(move_spill_restore): Check caps and border allocnos.

	* ira-lives.c (propagate_new_allocno_info, propagate_new_info):
	Remove.
	(ira_create_allocno_live_ranges): Don't propagate info of new
	allocnos.

	* ira-emit.c (not_modified_p, update_costs): Check caps.

	* ira-build.c (allocnos_bitmap): Remove.
	(create_cap_allocno): Set up all cap attributes.
	(propagate_info_to_cap): Remove.
	(create_loop_allocnos): Create allocnos in parent for border
	allocnos if there is no one.
	(propagate_allocno_info): New.
	(create_allocnos): Don't propagate allocno info.
	(remove_unnecessary_allocnos): Accumulate all allocno info.
	(setup_min_max_allocno_live_range_point): Set up min/max for caps
	too.
	(create_loop_tree_node_caps): Remove.
	(create_caps): New.
	(propagate_info_to_loop_tree_node_caps): Remove.
	(ira_flattening): Check cap.  Stop decrease call info after
	reaching allocno which is destination of removed store.  Check
	allocno nrefs and freq.
	(calculate_high_pressure_loops): Remove.
	(check_allocno_creation): New.
	(ira_build): Call propagate_allocno_info, call_caps, and
	check_allocno_creation.  Move
	ira_tune_allocno_costs_and_cover_classes before
	setup_min_max_allocno_live_range_point.

	* ira.c: Update comments about IRA.
	(ira_print_disposition): Add comment.

	* ira-costs.c (total_costs): Rename to allocno_costs.
	(total_costs): New.
	(print_costs): Print accumulated costs too.
	(find_allocno_class_costs): Check border allocnos for propagation
	costs.  Setup non-accumulated costs for allocnos.
	(process_bb_node_for_hard_reg_moves): Don't propagate costs.
	(ira_costs): Add allocation/freeing allocno_costs.

	* common.opt (fira-propagate-cost): Remove.

	* doc/invoke.texi (-fira-propagate-cost): Remove.


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-conflicts.c
    branches/ira/gcc/ira-costs.c
    branches/ira/gcc/ira-emit.c
    branches/ira/gcc/ira-lives.c
    branches/ira/gcc/ira.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]