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]

egcs/gcc pre-reload.c ra-build.c ra.c ra-color ...


CVSROOT:	/cvs/gcc
Module name:	egcs
Branch: 	new-regalloc-branch
Changes by:	denisc@gcc.gnu.org	2002-08-01 13:40:12

Modified files:
	gcc            : pre-reload.c ra-build.c ra.c ra-colorize.c 
	                 ra-debug.c ra.h ra-rewrite.c toplev.c 
	                 ChangeLog.RA 

Log message:
	* pre-reload.c (scan_addr_func): Bugfix. Argument ra_info removed.
	(collect_insn_info): this_alternative_address_operand,
	goal_alternative_address_operand, new arrays for handling
	constraint 'p'.
	(pre_reload_collect): Debug a pre-reload process to rtl_dump_file.
	
	* ra.h (max_normal_pseudo, orig_max_uid): Removed.
	(emitted_by_spill, ra_modified_insns, spill_slot_regs): New bitmaps.
	(is_partly_dead, set_web_live, reset_web_live, reg_class,
	web_class): Prototypes declared as extern.
	(SPILL_SLOT_P): New macro.
	
	* ra-build.c (copy_insn_p): Use SPILL_SLOT_P instead of
	comparision with max_normal_pseudo.
	(detect_spill_temps): Use detect_spanned_deaths if special flag.
	Use bitmap emitted_by_spill instead of orig_max_uid.
	(detect_remat_webs): Use bitmap emitted_by_spill instead of
	orig_max_uid.
	(select_regclass): Use web_class if flag_ra_pre_reload.
	(handle_asm_insn): Use web_preferred_class if flag_ra_pre_reload.
	(detect_spanned_deaths): New function. Calculate spanned deaths
	and spanned defs of webs.
	
	* ra.c (max_normal_pseudo, orig_max_uid): Removed.
	(emitted_by_spill, ra_modified_insns, spill_slot_regs): New
	bitmaps.
	(init_ra): Definition of orig_max_uid removed.
	Initialization of insns_with_deaths and death_insns_max_uid moved
	to reg_alloc.
	(reg_alloc): Use pre_reload if flag_ra_pre_reload.
	(web_class): New variable "debug" for better controlling of debug
	output.
	
	* ra-colorize.c (build_worklists): Use SPILL_SLOT_P instead of
	max_normal_pseudo.
	(combine): Likewise.
	(check_colors): Likewise.
	(extended_coalesce_2): Likewise.
	(colorize_one_web): Likewise. Handle flag_ra_pre_reload.
	
	* ra-debug.c (dump_igraph): Use SPILL_SLOT_P instead of
	max_normal_pseudo.
	(dump_web_insns): Renamed to debug_web_insns. All debugging output
	will be printed to stderr.
	(dump_web_conflicts): Likewise.
	
	* ra-rewrite.c: Set bit in ra_modified_insns for all insns handled by
	by df_insn_modify.
	Set bit in emitted_by_spill for all emitted insns.
	(allocate_spill_web): Set bit in spill_slot_regs for new spill
	slot register.
	(is_partly_live): Test web->parent_web.
	(emit_loads): Emit loads only for subwebs if super web isn't
	marked for load.
	
	* toplev.c (flag_ra_pre_reload): New flag -fnew-ra-pre-reload.
	(flag_ra_spanned_deaths_from_scratch): New flag
	-fnew-ra-spanned-deaths-pass.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/pre-reload.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.10&r2=1.1.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ra-build.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ra.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.61&r2=1.1.2.62
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ra-colorize.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ra-debug.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ra.h.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ra-rewrite.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.418.2.15&r2=1.418.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.RA.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.1.2.85&r2=1.1.2.86


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