[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