Hi, On Fri, 22 Jun 2007, Kenneth Zadeck wrote:
> > Index: gcc/gcc/reg-stack.c > > =================================================================== > > --- gcc.orig/gcc/reg-stack.c > > +++ gcc/gcc/reg-stack.c > > @@ -2316,6 +2316,12 @@ subst_stack_regs (rtx insn, stack regsta > > if (NOTE_P (insn) || INSN_DELETED_P (insn)) > > return control_flow_insn_deleted; > > > > + if (SIBLING_CALL_P (insn)) > > + { > > + CLEAR_HARD_REG_SET (regstack->reg_set); > > + return control_flow_insn_deleted; > > + } > > + > > /* If this a noreturn call, we can't insert pop insns after it. > > Instead, reset the stack state to empty. */ > > if (CALL_P (insn) > > > so how are you coming with the 68k? I started the bootstrap with my change and it works fine now, the tests are still running but so far there is no dataflow related problem. :) I'll drop my patch, the live information for an abnormal edge isn't really important anymore assuming the right thing is done for last call insn in that block. reg-stack could make use of it, but I'll leave that to someone else... :-) bye, Roman