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. 

Reply via email to