[PATCH] Fix PR58626, compute proper partition dependences in loop distribution
H.J. Lu
hjl.tools@gmail.com
Tue Dec 24 18:38:00 GMT 2013
On Thu, Oct 24, 2013 at 7:33 AM, Richard Biener <rguenther@suse.de> wrote:
>
> This finally computes a valid partition ordering (or if not possible
> merge partitions again) in loop distribution. This is the only
> place where data dependences are relevant, so we delay computing them
> (and also do not compute all N^2 dependences).
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu with BOOT_CFLAGS
> -O2 -ftree-loop-distribution, BOOT_CFLAGS -O3 still running.
>
> Richard.
>
> 2013-10-24 Richard Biener <rguenther@suse.de>
>
> PR tree-optimization/58626
> * tree-loop-distribution.c (enum rdg_dep_type): Remove
> anti_dd, output_dd and input_dd.
> (struct rdg_edge): Remove level and relation members.
> (RDGE_LEVEL, RDGE_RELATION): Remove.
> (dot_rdg_1): Adjust.
> (create_rdg_edge_for_ddr): Remove.
> (create_rdg_edges_for_scalar): Adjust.
> (create_edge_for_control_dependence): Likewise.
> (create_rdg_edges): Split into ...
> (create_rdg_flow_edges): ... this
> (create_rdg_cd_edges): ... and this.
> (free_rdg): Adjust.
> (build_rdg): Likewise, do not compute data dependences or
> add edges for them.
> (pg_add_dependence_edges): New function.
> (pgcmp): Likewise.
> (distribute_loop): First apply all non-dependence based
> partition mergings. Then compute dependences between partitions
> and merge and order partitions according to them.
>
This caused:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59594
--
H.J.
More information about the Gcc-patches
mailing list