[PATCH] [PING] PR 43603: Keep dominance info up to date

Vladimir Makarov vmakarov@redhat.com
Tue Dec 7 16:21:00 GMT 2010


On 12/07/2010 10:30 AM, Andrey Belevantsev wrote:
> Hello,
>
> On 09.11.2010 20:31, Andrey Belevantsev wrote:
>> Hello,
>>
>> Ping^2. There is a duplication PR about this bug now (46384). Testing 
>> was
>> fine, I didn't mention it in the previous ping.
>>
>> Andrey
>>
>> On 22.10.2010 11:51, Andrey Belevantsev wrote:
>>> Ping. http://gcc.gnu.org/ml/gcc-patches/2010-10/msg00206.html
>>> Andrey
>>>
>>> On 04.10.2010 19:45, Andrey Belevantsev wrote:
>>>> Hello,
>>>>
>>>> This main patch uses set_immediate_dominator and 
>>>> iterate_fix_dominators
>>>> when updating control flow in selective scheduler. The difficulty I 
>>>> had is
>>>> that when an unreachable block may be created, you need to defer 
>>>> the update
>>>> until the block is removed, so sometimes we avoid updating 
>>>> dominance info
>>>> in sel_redirect_edge_and_branch and postpone it to maybe_tidy_empty_bb
>>>> instead. I will add testcase from PR 43603, and I need to minimize 
>>>> one from
>>>> PR 44233.
>>>>
>>>> Bootstrapped with the other two patches, testing is in progress. Ok 
>>>> for
>>>> trunk if it succeeds? Ok for 4.5/4.4 after a week or two?
>>>>
>>>> Andrey
>>>>
>>>> 2010-10-04 Andrey Belevantsev <abel@ispras.ru>
>>>>
>>>> PR target/43603
>>>> PR target/44233
>>>>
>>>> * haifa-sched.c (sched_create_recovery_edges): Update
>>>> dominator info.
>>>> * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
>>>> after deleting an empty block.
>>>> (sel_remove_bb): Update dominator info after removing a block.
>>>> (sel_redirect_edge_and_branch_force): Assert that no unreachable
>>>> blocks will be created. Update dominator info.
>>>> (sel_redirect_edge_and_branch): Update dominator info when
>>>> basic blocks do not become unreachable.
>>>> (sel_remove_loop_preheader): Update dominator info.
>>>>
>
> Ping^3.

Sorry for that, Andrey.  I thought somebody else already reviewed it.

>   The patch is slightly updated (attached) as now Alexander has 
> slightly changed maybe_tidy_empty_bb, and the verify_dominators call 
> has moved to tidy_control_flow. 

> There are 4 PRs about this problem now (43603, 44233, 46384, 46640), 
> all of those are fixed with the patch.  I will minimize two of the 
> larger test cases this week.
Please, do it.
>
> Ok for trunk?

Yes, thanks.

>
> 2010-12-07  Andrey Belevantsev <abel@ispras.ru>
>
>     PR target/43603
>
>     * haifa-sched.c (sched_create_recovery_edges): Update
>     dominator info.
>     * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
>     after deleting an empty block.
>     (tidy_control_flow): Also verify dominators.
>     (sel_remove_bb): Update dominator info after removing a block.
>     (sel_redirect_edge_and_branch_force): Assert that no unreachable
>     blocks will be created. Update dominator info.
>     (sel_redirect_edge_and_branch): Update dominator info when
>     basic blocks do not become unreachable.
>     (sel_remove_loop_preheader): Update dominator info.
>



More information about the Gcc-patches mailing list