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 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: