This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ordering of splitting passes


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]