GCC Middle and Back End API Reference
|
#include <trimmed-graph.h>
Public Types | |
typedef tg_traits::node_t | node_t |
typedef tg_traits::edge_t | edge_t |
typedef tg_traits::dump_args_t | dump_args_t |
typedef tg_traits::cluster_t | cluster_t |
Public Member Functions | |
trimmed_graph (const exploded_graph &inner_graph, const exploded_node *inner_dst_node) | |
bool | contains_p (const exploded_edge *eedge) const |
void | log_stats (logger *logger) const |
void | dump_dot_to_pp (pretty_printer *pp, cluster_t *root_cluster, const dump_args_t &args) const |
void | dump_dot_to_file (FILE *fp, cluster_t *root_cluster, const dump_args_t &args) const |
void | dump_dot (const char *path, cluster_t *root_cluster, const dump_args_t &args) const |
void | add_node (node_t *node) |
void | add_edge (edge_t *edge) |
Data Fields | |
auto_delete_vec< node_t > | m_nodes |
auto_delete_vec< edge_t > | m_edges |
Private Types | |
typedef hash_map< const exploded_node *, trimmed_node * > | map_t |
Private Attributes | |
hash_set< const exploded_node * > | m_enodes |
hash_set< const exploded_edge * > | m_eedges |
map_t | m_map_from_enode_to_tnode |
A digraph for trimming an exploded_graph to the subset of nodes and edges from which paths reach INNER_DST_NODE (along with a precanned way to print these in .dot form).
|
inherited |
|
inherited |
|
inherited |
|
private |
|
inherited |
ana::trimmed_graph::trimmed_graph | ( | const exploded_graph & | inner_graph, |
const exploded_node * | inner_dst_node ) |
Add EDGE to this digraph, and to the preds/succs of its endpoints. Take ownership of EDGE.
Add NODE to this DIGRAPH, taking ownership.
|
inline |
References hash_set< KeyId, Lazy, Traits >::contains(), and m_eedges.
|
inlineinherited |
Write .dot information for this graph to a file at PATH, passing ARGS to the nodes and edges. If ROOT_CLUSTER is non-NULL, use it to organize the nodes into clusters.
|
inlineinherited |
Write .dot information for this graph to FP, passing ARGS to the nodes and edges. If ROOT_CLUSTER is non-NULL, use it to organize the nodes into clusters.
|
inlineinherited |
Write .dot information for this graph to PP, passing ARGS to the nodes and edges. If ROOT_CLUSTER is non-NULL, use it to organize the nodes into clusters.
void ana::trimmed_graph::log_stats | ( | logger * | logger | ) | const |
|
inherited |
|
private |
Referenced by contains_p().
|
private |
|
private |
|
inherited |