@Honza: PING^2

On 2/4/19 9:09 AM, Martin Liška wrote:
> @Honza: PING^1
> 
> Martin
> 
> On 1/24/19 9:10 AM, Martin Liška wrote:
>> On 1/23/19 7:28 PM, Segher Boessenkool wrote:
>>> Hi Martin,
>>>
>>> On Wed, Jan 23, 2019 at 10:29:40AM +0100, Martin Liška wrote:
>>>> diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
>>>> index 172bdf585d0..5dd316efb63 100644
>>>> --- a/gcc/cfgrtl.c
>>>> +++ b/gcc/cfgrtl.c
>>>> @@ -4396,6 +4396,25 @@ cfg_layout_redirect_edge_and_branch (edge e, 
>>>> basic_block dest)
>>>>             "Removing crossing jump while redirecting edge form %i to 
>>>> %i\n",
>>>>             e->src->index, dest->index);
>>>>        delete_insn (BB_END (src));
>>>> +
>>>> +      /* Unlink a BARRIER that can be still in BB_FOOTER.  */
>>>> +      rtx_insn *insn = BB_FOOTER (src);
>>>> +      while (insn != NULL_RTX && !BARRIER_P (insn))
>>>> +  insn = NEXT_INSN (insn);
>>>> +
>>>> +      if (insn != NULL_RTX)
>>>> +  {
>>>> +    if (insn == BB_FOOTER (src))
>>>> +      BB_FOOTER (src) = NULL;
>>>> +    else
>>>> +      {
>>>> +        if (PREV_INSN (insn))
>>>> +          SET_NEXT_INSN (PREV_INSN (insn)) = NEXT_INSN (insn);
>>>> +        if (NEXT_INSN (insn))
>>>> +          SET_PREV_INSN (NEXT_INSN (insn)) = PREV_INSN (insn);
>>>> +      }
>>>> +  }
>>>
>>>
>>> combine.c has nicer code to do this, in update_cfg_for_uncondjump.  Split
>>> it out into some common routine?  Something in cfgrtl.c I guess.
>>
>> Thanks Segher for the advice. I'll do it as soon as Honza will make a review
>> about the fundament of the patch.
>>
>> Martin
>>
>>>
>>>
>>> Segher
>>>
>>
> 

Reply via email to