[PATCH] Speedup DF dataflow solver
Jakub Jelinek
jakub@redhat.com
Wed Feb 15 10:33:42 GMT 2023
On Tue, Feb 14, 2023 at 03:21:53PM +0100, Richard Biener wrote:
> The following makes sure to process blocks that follow the current
> block in the iteration order in the same iteration and only postpone
> blocks that would be visited earlier to the next iteration.
>
> For the all.i testcase in PR26854 at -O2 this shaves off 50% of
> the time to solve the DF RD problem, other problems also improve
> but not as drastically.
>
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
>
> OK for trunk?
>
> Thanks,
> Richard.
>
> PR middle-end/26854
> * df-core.cc (df_worklist_propagate_forward): Put later
> blocks on worklist and only earlier blocks on pending.
> (df_worklist_propagate_backward): Likewise.
> (df_worklist_dataflow_doublequeue): Change the iteration
> to process new blocks in the same iteration if that
> maintains the iteration order.
LGTM.
Jakub
More information about the Gcc-patches
mailing list