https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81303

--- Comment #11 from amker at gcc dot gnu.org ---
Author: amker
Date: Thu Dec  7 18:03:53 2017
New Revision: 255472

URL: https://gcc.gnu.org/viewcvs?rev=255472&root=gcc&view=rev
Log:
        PR tree-optimization/81303
        * Makefile.in (gimple-loop-interchange.o): New object file.
        * common.opt (floop-interchange): Reuse the option from graphite.
        * doc/invoke.texi (-floop-interchange): Ditto.  New document for
        -floop-interchange and mention it for -O3.
        * opts.c (default_options_table): Enable -floop-interchange at -O3.
        * gimple-loop-interchange.cc: New file.
        * params.def (PARAM_LOOP_INTERCHANGE_MAX_NUM_STMTS): New parameter.
        (PARAM_LOOP_INTERCHANGE_STRIDE_RATIO): New parameter.
        * passes.def (pass_linterchange): New pass.
        * timevar.def (TV_LINTERCHANGE): New time var.
        * tree-pass.h (make_pass_linterchange): New declaration.
        * tree-ssa-loop-ivcanon.c (create_canonical_iv): Change to external
        interchange.  Record IV before/after increment in new parameters.
        * tree-ssa-loop-ivopts.h (create_canonical_iv): New declaration.
        * tree-vect-loop.c (vect_is_simple_reduction): Factor out reduction
        path check into...
        (check_reduction_path): ...New function here.
        * tree-vectorizer.h (check_reduction_path): New declaration.

        gcc/testsuite
        * gcc.dg/tree-ssa/loop-interchange-1.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-1b.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-2.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-3.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-4.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-5.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-6.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-7.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-8.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-9.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-10.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-11.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-12.c: New test.
        * gcc.dg/tree-ssa/loop-interchange-13.c: New test.

Added:
    trunk/gcc/gimple-loop-interchange.cc
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-10.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-11.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-12.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-13.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-1b.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-2.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-3.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-4.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-5.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-6.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-7.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-8.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-9.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/Makefile.in
    trunk/gcc/common.opt
    trunk/gcc/doc/invoke.texi
    trunk/gcc/opts.c
    trunk/gcc/params.def
    trunk/gcc/passes.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/timevar.def
    trunk/gcc/tree-pass.h
    trunk/gcc/tree-ssa-loop-ivcanon.c
    trunk/gcc/tree-ssa-loop-ivopts.h
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vectorizer.h

Reply via email to