[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-patches
Subject:    Re: [PATCH] Fix PR 44919
From:       Vladimir Makarov <vmakarov () redhat ! com>
Date:       2010-08-31 20:23:38
Message-ID: 4C7D64CA.3060804 () redhat ! com
[Download RAW message or body]

  On 08/24/2010 06:06 AM, Andrey Belevantsev wrote:
> Hello,
>
> As noted in the PR, when we have added support for moving insns 
> through mutually exclusive insns, it was made possible to move 
> conditional jumps across block boundaries.  But we didn't fix 
> move_cond_jump accordingly, as it assumes that the jump can be moved 
> only through insns in the same block.
> The fix is to support moving a jump through series of fallthru blocks 
> which all have only mutually exclusive insns with a jump.  So to do 
> this, the failing assert was changed to an enable-checking code that 
> ensures the several blocks case only happens with mutually exclusive 
> insns, that the actual code to do movement is rewritten via 
> reorder_insns instead of manual twiddling with PREV/NEXT_INSN and 
> df_insn_change_bb.
>
> Now, the ICE can be seen only on 4.4 branch, on trunk the problematic 
> code is not generated, so I wonder how we got in 4.4 a series of 
> fallthru basic blocks in first place, they seem to exist before the 
> scheduler is run. Anyways, even for the branch the fix seems to be 
> quite safe.
>
> Bootstrap and test on ia64 is in progress. OK for trunk if it 
> succeeds? 4.4?  The patch misses adding a test case from PR, this will 
> be done of course.
>
> Thanks, Andrey
>
> 2010-08-24  Andrey Belevantsev <abel@ispras.ru>
>
>     PR rtl-optimization/44919
>
>     * sel-sched.c (move_cond_jump): Remove assert, check that
>     the several blocks case can only happen with mutually exclusive
>     insns instead.  Rewrite the movement code to support moving through
>     several basic blocks.
Ok for the trunk and 4.4 branch.  Thanks for working on the PR.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic