This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
egcs/gcc pre-reload.c ra-build.c ra.c ra-color ...
- From: denisc at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 1 Aug 2002 20:40:12 -0000
- Subject: 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