This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: final cfg build problems
- To: Jeffrey A Law <law at cygnus dot com>
- Subject: Re: final cfg build problems
- From: Richard Henderson <rth at cygnus dot com>
- Date: Mon, 1 Nov 1999 13:03:16 -0800
- Cc: gcc at gcc dot gnu dot org
- References: <4372.941463332@upchuck>
On Mon, Nov 01, 1999 at 06:35:32AM -0700, Jeffrey A Law wrote:
> One thought for dealing with these various problems is to not optimize the
> cfg, delete dead code, etc etc when we rebuild the cfg. Just build the
> cfg, notes and quit.
Yes, that's probably the best solution. I'll check in the
following patch to that effect.
r~
* toplev.c (rest_of_compilation): Don't optimize the CFG
when rebuilding, just before dbr.
Index: toplev.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/toplev.c,v
retrieving revision 1.247
diff -c -p -d -r1.247 toplev.c
*** toplev.c 1999/10/29 21:45:04 1.247
--- toplev.c 1999/11/01 21:01:37
*************** rest_of_compilation (decl)
*** 4323,4331 ****
(dbr_sched_time,
{
/* ??? Keep the CFG up to date after cross-jumping. */
! find_basic_blocks (insns, max_reg_num (), rtl_dump_file, 1);
count_or_remove_death_notes (NULL, 1);
! life_analysis (insns, max_reg_num (), rtl_dump_file, 1);
dbr_schedule (insns, rtl_dump_file);
});
--- 4323,4331 ----
(dbr_sched_time,
{
/* ??? Keep the CFG up to date after cross-jumping. */
! find_basic_blocks (insns, max_reg_num (), rtl_dump_file, 0);
count_or_remove_death_notes (NULL, 1);
! life_analysis (insns, max_reg_num (), rtl_dump_file, 0);
dbr_schedule (insns, rtl_dump_file);
});