This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ordering of splitting passes
On Tue, Oct 07, 2003 at 11:24:21AM +0200, Jan Hubicka wrote:
> > > The motivation has been to put all the passes into toplev.c so one can
> > > remove redundanties in between them. Originally we did twice as many
> > > passes than we do now and also we can not split after reg-stack because
> > > of changes in the RTL representation.
> >
> > Ok, but the problem is the split *before* reg-stack.c. Why is it not simply
> > put inside
> >
> > #ifdef STACK_REGS
> > timevar_push (TV_REG_STACK);
> > open_dump_file (DFI_stack, decl);
> >
> > reg_to_stack (insns, rtl_dump_file);
> >
> > close_dump_file (DFI_stack, print_rtl_with_bb, insns);
> > timevar_pop (TV_REG_STACK);
> >
> > ggc_collect ();
> > #endif
> >
> > instead of being four passes above?
>
> Because we need splitting pass there anyway to assist the other passes.
> I believed that the other passes are not supposed to introduce
> unsplittable instructions...
> (I have to take a look why exactly this happens anyway)
For details what happened recently on gcc-3_3-branch see:
http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00457.html (commited patch)
http://gcc.gnu.org/ml/gcc-patches/2003-08/msg01516.html (and following thread)
Jakub