aboutsummaryrefslogtreecommitdiff
path: root/gcc/common.opt
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-10-20 12:18:32 +0000
committerMichael Matz <matz@gcc.gnu.org>2016-10-20 12:18:32 +0000
commit28df87300a0dadffa5332e8a8e25688a7e62f5cd (patch)
tree6e07e23b33a8db22031caaaa3e7c9e1df95f4a16 /gcc/common.opt
parenta2e0054e1d169984ec64d64145b71a88a9628537 (diff)
downloadgcc-28df87300a0dadffa5332e8a8e25688a7e62f5cd.zip
gcc-28df87300a0dadffa5332e8a8e25688a7e62f5cd.tar.gz
gcc-28df87300a0dadffa5332e8a8e25688a7e62f5cd.tar.bz2
loop splitting
(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 loop splitting. * 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. From-SVN: r241374
Diffstat (limited to 'gcc/common.opt')
-rw-r--r--gcc/common.opt4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt
index 6f24f56..eefbb46 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2576,6 +2576,10 @@ funswitch-loops
Common Report Var(flag_unswitch_loops) Optimization
Perform loop unswitching.
+fsplit-loops
+Common Report Var(flag_split_loops) Optimization
+Perform loop splitting.
+
funwind-tables
Common Report Var(flag_unwind_tables) Optimization
Just generate unwind tables for exception handling.