GCC Middle and Back End API Reference
|
#include <basic-block.h>
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< bitmap > | control_dependence_map |
edge_list * | m_el |
Class to compute and manage control dependences on an edge-list.
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.
|
private |
Clear all control dependences for block BB.
|
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().
|
private |
Functions to compute control dependences. Indicate block BB is control dependent on an edge with index EDGE_INDEX.
Referenced by find_pdom().
|
private |
Referenced by find_pdom().