cfgloop.h (struct loop): New field constraints.
authorBin Cheng <bin.cheng@arm.com>
Fri, 29 Jul 2016 15:44:00 +0000 (15:44 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Fri, 29 Jul 2016 15:44:00 +0000 (15:44 +0000)
commit18767ebc32eaed40760aab394fe77d0815454efd
treea1a32cebdc504645bd7b6aa9f95e65a49b16c9a7
parentf6c7a248d5eb50e3cfcf15e552c2be698ebea34b
cfgloop.h (struct loop): New field constraints.

* 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.

From-SVN: r238876
gcc/ChangeLog
gcc/cfgloop.c
gcc/cfgloop.h
gcc/cfgloopmanip.c
gcc/doc/loop.texi
gcc/tree-ssa-loop-niter.c