GCC Middle and Back End API Reference
control_flow_graph Struct Reference

#include <basic-block.h>

Collaboration diagram for control_flow_graph:

Data Fields

basic_block x_entry_block_ptr
basic_block x_exit_block_ptr
vec< basic_block, va_gc > * x_basic_block_info
int x_n_basic_blocks
int x_n_edges
int x_last_basic_block
int last_label_uid
vec< basic_block, va_gc > * x_label_to_block_map
enum profile_status_d x_profile_status
enum dom_state x_dom_computed [2]
unsigned x_n_bbs_in_dom_tree [2]
int max_jumptable_ents

Detailed Description

A structure to group all the per-function control flow graph data. The x_* prefixing is necessary because otherwise references to the fields of this struct are interpreted as the defines for backward source compatibility following the definition of this struct.


Field Documentation

int control_flow_graph::last_label_uid

UIDs for LABEL_DECLs.

int control_flow_graph::max_jumptable_ents

Maximal number of entities in the single jumptable. Used to estimate final flowgraph size.

vec<basic_block, va_gc>* control_flow_graph::x_basic_block_info

Index by basic block number, get basic block struct info.

enum dom_state control_flow_graph::x_dom_computed[2]

Whether the dominators and the postdominators are available.

basic_block control_flow_graph::x_entry_block_ptr

Block pointers for the exit and entry of a function. These are always the head and tail of the basic block list.

basic_block control_flow_graph::x_exit_block_ptr
vec<basic_block, va_gc>* control_flow_graph::x_label_to_block_map

Mapping of labels to their associated blocks. At present only used for the gimple CFG.

Referenced by replace_ssa_name().

int control_flow_graph::x_last_basic_block

The first free basic block number.

int control_flow_graph::x_n_basic_blocks

Number of basic blocks in this flow graph.

unsigned control_flow_graph::x_n_bbs_in_dom_tree[2]

Number of basic blocks in the dominance tree.

int control_flow_graph::x_n_edges

Number of edges in this flow graph.

enum profile_status_d control_flow_graph::x_profile_status

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