Roman Zippel wrote:
> 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
>
you should run the regstack part past honza. Do not just let it drop if
you think it needs it.