This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
egcs/gcc ChangeLog.RA ra.c reload.c reload1.c
- To: gcc-cvs at gcc dot gnu dot org
- Subject: egcs/gcc ChangeLog.RA ra.c reload.c reload1.c
- From: matz at gcc dot gnu dot org
- Date: 17 Jul 2001 19:29:04 -0000
CVSROOT: /cvs/gcc
Module name: egcs
Branch: new-regalloc-branch
Changes by: matz@gcc.gnu.org 2001-07-17 12:29:04
Modified files:
gcc : ChangeLog.RA ra.c reload.c reload1.c
Log message:
2001-07-06 Michael Matz <matzmich@cs.tu-berlin.de>
Instead of per insn visited[] us a per basic block info to avoid
traversing an insn multiple times in live_in().
Also remember use->undefined over multiple predecessors.
(This makes 164.gzip work again).
And also the whole SPECint2000 (besides eon which is C++, and
wasn't tested) compiles and correctly runs the test workload.
186.crafty needs to be compiled with -fno-rename-registers
(only evaluate.c of that benchmark).
* ra.c : (struct bb_begin_info): New.
(visited): Remove.
(live_in): Before processing predecessors of a block, check if that
wasn't already done.
Remember use-undefined over multiple predecessors blocks.
(build_web_parts_and_conflicts): Don't allocate/free visited.
Allocate and free a bb_begin_info entry for all basic blocks.
* reload.c : (push_reload): Don't use REG_DEAD notes for finding
a reg_rtx for input reloads.
* reload1.c : (scan_paradoxical_subregs): Commenting wrongness of
reg_max_ref_width[] setting.
Patches:
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.28&r2=1.1.2.29
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.14&r2=1.1.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/reload.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.142&r2=1.142.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/reload1.c.diff?cvsroot=gcc&only_with_tag=new-regalloc-branch&r1=1.255.2.4&r2=1.255.2.5