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: