|
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 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().