GCC Middle and Back End API Reference
loop_size Struct Reference

Data Fields

int overall
int eliminated_by_peeling
int last_iteration
int last_iteration_eliminated_by_peeling
bool constant_iv
int num_pure_calls_on_hot_path
int num_non_pure_calls_on_hot_path
int non_call_stmts_on_hot_path
int num_branches_on_hot_path

Detailed Description

Describe size of loop as detected by tree_estimate_loop_size.


Field Documentation

bool loop_size::constant_iv

If some IV computation will become constant.

int loop_size::eliminated_by_peeling

Number of instructions that will be likely optimized out in peeled iterations of loop (i.e. computation based on induction variable where induction variable starts at known constant.)

int loop_size::last_iteration

Same statistics for last iteration of loop: it is smaller because instructions after exit are not executed.

int loop_size::last_iteration_eliminated_by_peeling
int loop_size::non_call_stmts_on_hot_path

Number of statements other than calls in the loop.

int loop_size::num_branches_on_hot_path

Number of branches seen on the hot path.

int loop_size::num_non_pure_calls_on_hot_path

Number of call stmts that are not a builtin and are not pure nor const present on the hot path.

int loop_size::num_pure_calls_on_hot_path

Number of call stmts that are not a builtin and are pure or const present on the hot path.

int loop_size::overall

Number of instructions in the loop.


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