diff options
author | amker <amker@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-07-29 15:44:00 +0000 |
---|---|---|
committer | amker <amker@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-07-29 15:44:00 +0000 |
commit | 851684851024d63ab78123b1600fe829350cfa8d (patch) | |
tree | a1a32cebdc504645bd7b6aa9f95e65a49b16c9a7 /gcc/cfgloopmanip.c | |
parent | c7c713ecb0ce4b5639e94c35affc4756ed7fac55 (diff) | |
download | gcc-851684851024d63ab78123b1600fe829350cfa8d.tar.gz |
* cfgloop.h (struct loop): New field constraints.
(LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
(loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
functions.
* cfgloop.c (alloc_loop): Initialize new field.
* cfgloopmanip.c (copy_loop_info): Copy constraints.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
Adjust niter analysis wrto loop constraints.
* doc/loop.texi (@node Number of iterations): Add description for loop
constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238876 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r-- | gcc/cfgloopmanip.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c index 6bd2d8570c1..20476d70459 100644 --- a/gcc/cfgloopmanip.c +++ b/gcc/cfgloopmanip.c @@ -1015,6 +1015,7 @@ copy_loop_info (struct loop *loop, struct loop *target) target->any_estimate = loop->any_estimate; target->nb_iterations_estimate = loop->nb_iterations_estimate; target->estimate_state = loop->estimate_state; + target->constraints = loop->constraints; target->warned_aggressive_loop_optimizations |= loop->warned_aggressive_loop_optimizations; target->in_oacc_kernels_region = loop->in_oacc_kernels_region; |