[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