GCC Middle and Back End API Reference
|
#include <supergraph.h>
Public Types | |
typedef supergraph_traits::edge_t | edge_t |
typedef supergraph_traits::dump_args_t | dump_args_t |
Public Member Functions | |
supernode (function *fun, basic_block bb, gcall *returning_call, gimple_seq phi_nodes, int index) | |
function * | get_function () const |
bool | entry_p () const |
bool | return_p () const |
void | dump_dot (graphviz_out *gv, const dump_args_t &args) const override |
void | dump_dot_id (pretty_printer *pp) const |
std::unique_ptr< json::object > | to_json () const |
location_t | get_start_location () const |
location_t | get_end_location () const |
gphi_iterator | start_phis () |
gcall * | get_returning_call () const |
gimple * | get_last_stmt () const |
gcall * | get_final_call () const |
unsigned int | get_stmt_index (const gimple *stmt) const |
tree | get_label () const |
virtual void | dump_dot (graphviz_out *gv, const dump_args_t &args) const=0 |
Data Fields | |
function *const | m_fun |
const basic_block | m_bb |
gcall *const | m_returning_call |
gimple_seq | m_phi_nodes |
auto_vec< gimple * > | m_stmts |
const int | m_index |
auto_vec< edge_t * > | m_preds |
auto_vec< edge_t * > | m_succs |
A node within a supergraph.
|
inherited |
|
inherited |
|
inline |
References m_bb, m_fun, m_index, m_phi_nodes, m_returning_call, and phi_nodes().
|
override |
|
pure virtualinherited |
void ana::supernode::dump_dot_id | ( | pretty_printer * | pp | ) | const |
|
inline |
References ENTRY_BLOCK_PTR_FOR_FN, m_bb, and m_fun.
Referenced by is_entrypoint_p().
location_t ana::supernode::get_end_location | ( | ) | const |
|
inline |
References dyn_cast(), get_last_stmt(), and NULL.
tree ana::supernode::get_label | ( | ) | const |
|
inline |
|
inline |
References m_returning_call.
location_t ana::supernode::get_start_location | ( | ) | const |
Referenced by infinite_loop_diagnostic::add_final_event().
unsigned int ana::supernode::get_stmt_index | ( | const gimple * | stmt | ) | const |
|
inline |
References EXIT_BLOCK_PTR_FOR_FN, m_bb, and m_fun.
|
inline |
References gimple_bb(), gimple_seq_first(), i, m_phi_nodes, and NULL.
std::unique_ptr< json::object > ana::supernode::to_json | ( | ) | const |
const basic_block ana::supernode::m_bb |
Referenced by entry_p(), return_p(), and supernode().
function* const ana::supernode::m_fun |
Referenced by entry_p(), get_function(), return_p(), and supernode().
const int ana::supernode::m_index |
Referenced by ana::worklist::get_scc_id(), ana::worklist::key_t::get_scc_id(), and supernode().
gimple_seq ana::supernode::m_phi_nodes |
Referenced by start_phis(), and supernode().
|
inherited |
gcall* const ana::supernode::m_returning_call |
Referenced by ana::exploded_graph::detect_infinite_recursion(), get_returning_call(), and supernode().
Referenced by get_last_stmt().
|
inherited |