GCC Middle and Back End API Reference
nb_iter_bound Struct Reference

#include <cfgloop.h>

Collaboration diagram for nb_iter_bound:

Data Fields

gimple stmt
double_int bound
bool is_exit
struct nb_iter_boundnext

Detailed Description

   The structure describing a bound on number of iterations of a loop.  

Field Documentation

double_int nb_iter_bound::bound
     ... BOUND + 1 times (BOUND must be an unsigned constant).
     The + 1 is added for the following reasons:

     a) 0 would otherwise be unused, while we would need to care more about
        overflows (as MAX + 1 is sometimes produced as the estimate on number
        of executions of STMT).
     b) it is consistent with the result of number_of_iterations_exit.  

Referenced by estimated_loop_iterations(), max_stmt_executions(), and n_of_executions_at_most().

bool nb_iter_bound::is_exit
     True if the statement will cause the loop to be leaved the (at most)
     BOUND + 1-st time it is executed, that is, all the statements after it
     are executed at most BOUND times.  
struct nb_iter_bound* nb_iter_bound::next
     The next bound in the list.  

Referenced by n_of_executions_at_most().

gimple nb_iter_bound::stmt
     The statement STMT is executed at most ...  

Referenced by remove_exits_and_undefined_stmts().

The documentation for this struct was generated from the following file: