On Mon, Sep 25, 2017 at 8:18 AM, Richard Biener <rguent...@suse.de> wrote:
> > The following adds a helper to sort the sibling loop list in RPO order > as it can get messed up (we only ever add loops at the start of the list). > GRAPHITE SCOP detection assumes this list is sorted naturally in RPO > order (as a flow_loops_find would generate). > > Turns out it helps a few more loops in SPEC CPU 2006 to get optimized > by GRAPHITE. > > Bootstrapped and tested on x86_64-unknown-linux-gnu, SPEC 2k6 is happy > with GRAPHITE. > > I've tested the variant below with the extra call in pass_tree_loop_init > but as no pass cares about the sibling list order but graphite I'll not > commit that hunk. > > Applied to trunk (w/o that hunk) > > Richard. > > 2017-09-25 Richard Biener <rguent...@suse.de> > > * cfgloop.h (sort_sibling_loops): Declare. > * cfgloop.c (sort_sibling_loops_cmp): New helper. > (sort_sibling_loops): New function sorting the sibling loop list > in RPO order. > * graphite.c (graphite_transform_loops): Sort sibling loops. > > Looks good. Thanks!