Ordering of splitting passes
Eric Botcazou
ebotcazou@libertysurf.fr
Tue Oct 7 08:55:00 GMT 2003
> 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?
> Perhaps the best fix is to make insn splitting before sched2
> unconditiona? (this is probably what makes the testcase to pass at -O2)
Yes, it passes at -O2 because of this sched2 splitting.
--
Eric Botcazou
More information about the Gcc
mailing list