loop splitting

Programming / Compilers / GCC - matz [138bc75d-0d04-0410-961f-82ee72b054a4] - 20 October 2016 07:18 UTC

(approved at https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00648.html )

- common.opt (-fsplit-loops): New flag.
- passes.def (pass_loop_split): Add.
- opts.c (default_options_table): Add OPT_fsplit_loops entry at -O3. (enable_fdo_optimizations): Add .
- timevar.def (TV_LOOP_SPLIT): Add.
- tree-pass.h (make_pass_loop_split): Declare.
- tree-ssa-loop-manip.h (rewrite_into_loop_closed_ssa_1): Declare.
- tree-ssa-loop-unswitch.c: Include tree-ssa-loop-manip.h,
- tree-ssa-loop-split.c: New file.
- Makefile.in (OBJS): Add tree-ssa-loop-split.o.
- doc/invoke.texi (fsplit-loops): Document.
- doc/passes.texi (Loop optimization): Add paragraph about loop splitting.

testsuite/
- gcc.dg/loop-split.c: New test.
- gcc.dg/tree-ssa/ifc-9.c: Update.
- gcc.dg/tree-ssa/ifc-10.c: Update.

92a2a71 loop splitting
gcc/ChangeLog | 17 +
gcc/Makefile.in | 1 +
gcc/common.opt | 4 +
gcc/doc/invoke.texi | 7 +-
gcc/doc/passes.texi | 6 +
gcc/opts.c | 3 +
gcc/passes.def | 1 +
gcc/testsuite/ChangeLog | 6 +
gcc/testsuite/gcc.dg/loop-split.c | 147 +++++++
gcc/testsuite/gcc.dg/tree-ssa/ifc-10.c | 2 +-
gcc/testsuite/gcc.dg/tree-ssa/ifc-9.c | 2 +-
gcc/timevar.def | 1 +
gcc/tree-pass.h | 1 +
gcc/tree-ssa-loop-manip.h | 2 +
gcc/tree-ssa-loop-split.c | 687 ++++++++++++++++++++++++++++++++
15 files changed, 884 insertions(+), 3 deletions(-)

Upstream: gcc.gnu.org


  • Share