GCC Middle and Back End API Reference
profile_record Struct Reference

#include <basic-block.h>

Data Fields

int num_mismatched_freq_in [2]
int num_mismatched_freq_out [2]
int num_mismatched_count_in [2]
int num_mismatched_count_out [2]
gcov_type time [2]
int size [2]
bool run

Detailed Description

Structure to gather statistic about profile consistency, per pass. An array of this structure, indexed by pass static number, is allocated in passes.c. The structure is defined here so that different CFG modes can do their book-keeping via CFG hooks.

For every field[2], field[0] is the count before the pass runs, and field[1] is the post-pass count. This allows us to monitor the effect of each individual pass on the profile consistency.

This structure is not supposed to be used by anything other than passes.c and one CFG hook per CFG mode.


Field Documentation

int profile_record::num_mismatched_count_in[2]

The number of basic blocks where sum(count) of the block's predecessors doesn't match reasonably well with the incoming frequency.

int profile_record::num_mismatched_count_out[2]

Likewise for a basic block's successors.

int profile_record::num_mismatched_freq_in[2]

The number of basic blocks where sum(freq) of the block's predecessors doesn't match reasonably well with the incoming frequency.

int profile_record::num_mismatched_freq_out[2]

Likewise for a basic block's successors.

bool profile_record::run

True iff this pass actually was run.

int profile_record::size[2]

A weighted cost of the size of the function body.

gcov_type profile_record::time[2]

A weighted cost of the run-time of the function body.


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