diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-06 16:22:45 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-06 16:22:45 +0000 |
commit | d583c97934c7af62fd9c8d741c41c742365e4dfd (patch) | |
tree | f6fbb89a772fc389ce8c8e8e32cde9cbd8d3a80a /gcc/cfgloop.h | |
parent | 10f4615f3fc365d0444390f69078dfb784fe9802 (diff) | |
download | gcc-d583c97934c7af62fd9c8d741c41c742365e4dfd.tar.gz |
* cfgloopanal.c (get_loop_hot_path): New function.
* tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
NUM_BRANCHES_ON_HOT_PATH.
(tree_estimate_loop_size): Compute the new values.
(try_unroll_loop_completely): Disable unrolling of loops with only
calls or too many branches.
(tree_unroll_loops_completely): Deal also with outer loops of hot loops.
* cfgloop.h (get_loop_hot_path): Declare.
* params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
* invoke.texi (max-peel-branches): Document.
* gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling candidate still.
* gcc.dg/tree-ssa/loop-23.c: Likewise.
* gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
* gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193246 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r-- | gcc/cfgloop.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index 94ad6372d28..5cd62b3d640 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -714,6 +714,7 @@ extern void doloop_optimize_loops (void); extern void move_loop_invariants (void); extern bool finite_loop_p (struct loop *); extern void scale_loop_profile (struct loop *loop, int scale, int iteration_bound); +extern VEC (basic_block, heap) * get_loop_hot_path (const struct loop *loop); /* Returns the outermost loop of the loop nest that contains LOOP.*/ static inline struct loop * |