+2014-05-07 Thomas Schwinge <thomas@codesourcery.com>
+
+ * cfgloop.h (unswitch_loops): Remove.
+ * doc/passes.texi: Remove references to loop-unswitch.c
+ * timevar.def (TV_LOOP_UNSWITCH): Remove.
+
2014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
* tree-vect-data-refs.c (vect_grouped_load_supported): New
extern void loop_optimizer_finalize (void);
/* Optimization passes. */
-extern void unswitch_loops (void);
-
enum
{
UAP_PEEL = 1, /* Enables loop peeling. */
Loop unswitching. This pass moves the conditional jumps that are invariant
out of the loops. To achieve this, a duplicate of the loop is created for
each possible outcome of conditional jump(s). The pass is implemented in
-@file{tree-ssa-loop-unswitch.c}. This pass should eventually replace the
-RTL level loop unswitching in @file{loop-unswitch.c}, but currently
-the RTL level pass is not completely redundant yet due to deficiencies
-in tree level alias analysis.
+@file{tree-ssa-loop-unswitch.c}.
The optimizations also use various utility functions contained in
@file{tree-ssa-loop-manip.c}, @file{cfgloop.c}, @file{cfgloopanal.c} and
generic loop analysis and manipulation code. Initialization and finalization
of loop structures is handled by @file{loop-init.c}.
A loop invariant motion pass is implemented in @file{loop-invariant.c}.
-Basic block level optimizations---unrolling, peeling and unswitching loops---
-are implemented in @file{loop-unswitch.c} and @file{loop-unroll.c}.
+Basic block level optimizations---unrolling, and peeling loops---
+are implemented in @file{loop-unroll.c}.
Replacing of the exit condition of loops by special machine-dependent
instructions is handled by @file{loop-doloop.c}.
DEFTIMEVAR (TV_LOOP , "loop analysis")
DEFTIMEVAR (TV_LOOP_INIT , "loop init")
DEFTIMEVAR (TV_LOOP_MOVE_INVARIANTS , "loop invariant motion")
-DEFTIMEVAR (TV_LOOP_UNSWITCH , "loop unswitching")
DEFTIMEVAR (TV_LOOP_UNROLL , "loop unrolling")
DEFTIMEVAR (TV_LOOP_DOLOOP , "loop doloop")
DEFTIMEVAR (TV_LOOP_FINI , "loop fini")