GCC Middle and Back End API Reference
control_dependences Class Reference

#include <basic-block.h>

Collaboration diagram for control_dependences:

Public Member Functions

 control_dependences (edge_list *)
 ~control_dependences ()
bitmap get_edges_dependent_on (int)
edge get_edge (int)

Private Member Functions

void set_control_dependence_map_bit (basic_block, int)
void clear_control_dependence_bitmap (basic_block)
void find_control_dependence (int)

Private Attributes

vec< bitmapcontrol_dependence_map
edge_listm_el

Detailed Description

Class to compute and manage control dependences on an edge-list.


Constructor & Destructor Documentation

control_dependences::control_dependences ( edge_list edges)

Record all blocks' control dependences on all edges in the edge list EL, ala Morgan, Section 3.6.

control_dependences::~control_dependences ( )

Free control dependences and the associated edge list.

References FOR_EACH_EDGE, and basic_block_def::preds.


Member Function Documentation

void control_dependences::clear_control_dependence_bitmap ( basic_block  bb)
private

Clear all control dependences for block BB.

void control_dependences::find_control_dependence ( int  edge_index)
private

Determine all blocks' control dependences on the given edge with edge_list EL index EDGE_INDEX, ala Morgan, Section 3.6.

For abnormal edges, we don't make current_block control dependent because instructions that throw are always necessary anyway.

edge control_dependences::get_edge ( int  i)

Returns the edge with index I from the edge list.

Referenced by create_rdg_edges_for_scalar(), and mark_last_stmt_necessary().

bitmap control_dependences::get_edges_dependent_on ( int  i)

Returns the bitmap of edges the basic-block I is dependent on.

Referenced by create_rdg_edges_for_scalar(), and mark_last_stmt_necessary().

void control_dependences::set_control_dependence_map_bit ( basic_block  bb,
int  edge_index 
)
private

Functions to compute control dependences. Indicate block BB is control dependent on an edge with index EDGE_INDEX.

Referenced by find_pdom().


Field Documentation

vec<bitmap> control_dependences::control_dependence_map
private
edge_list* control_dependences::m_el
private

Referenced by find_pdom().


The documentation for this class was generated from the following files: