GCC Middle and Back End API Reference
niter_desc Struct Reference

#include <cfgloop.h>

Collaboration diagram for niter_desc:

Data Fields

edge out_edge
edge in_edge
bool simple_p
bool const_iter
unsigned HOST_WIDEST_INT niter
rtx assumptions
rtx noloop_assumptions
rtx infinite
bool signed_p
enum machine_mode mode
rtx niter_expr

Detailed Description

The description of an exit from the loop and of the number of iterations till we take the exit.


Field Documentation

rtx niter_desc::assumptions

Assumptions under that the rest of the information is valid.

Referenced by check_simple_exit().

bool niter_desc::const_iter

True if the loop iterates the constant number of times.

Referenced by decide_peel_simple().

edge niter_desc::in_edge

The other edge leading from the condition.

rtx niter_desc::infinite

Condition under that the loop is infinite.

Referenced by check_simple_exit().

enum machine_mode niter_desc::mode

The mode in that niter_expr should be computed.

Referenced by split_edge_and_insert().

unsigned HOST_WIDEST_INT niter_desc::niter

Number of iterations if constant.

Referenced by decide_peel_simple(), and split_edge_and_insert().

rtx niter_desc::niter_expr

The number of iterations of the loop.

Referenced by decide_peel_simple(), and split_edge_and_insert().

rtx niter_desc::noloop_assumptions

Assumptions under that the loop ends before reaching the latch, even if value of niter_expr says otherwise.

Referenced by decide_peel_simple().

edge niter_desc::out_edge

The edge out of the loop.

bool niter_desc::signed_p

Whether the comparison is signed.

bool niter_desc::simple_p

True if we are able to say anything about number of iterations of the loop.

Referenced by check_simple_exit(), and decide_peel_simple().


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