GCC Middle and Back End API Reference
|
#include <program-point.h>
Static Public Member Functions | |
static program_point | origin (const region_model_manager &mgr) |
static program_point | from_function_entry (const region_model_manager &mgr, const supergraph &sg, const function &fun) |
static program_point | before_supernode (const supernode *supernode, const superedge *from_edge, const call_string &call_string) |
static program_point | before_stmt (const supernode *supernode, unsigned stmt_idx, const call_string &call_string) |
static program_point | after_supernode (const supernode *supernode, const call_string &call_string) |
static program_point | empty () |
static program_point | deleted () |
static bool | effectively_intraprocedural_p (const program_point &point_a, const program_point &point_b) |
Private Member Functions | |
program_point (const function_point &fn_point) | |
Private Attributes | |
function_point | m_function_point |
const call_string * | m_call_string |
A class for representing a location within the program, including interprocedural information. This represents a fine-grained location within the supergraph (or within one of its nodes), along with a call string giving the interprocedural context.
|
inline |
Referenced by after_supernode(), before_stmt(), before_supernode(), deleted(), and empty().
|
inlineprivate |
|
inlinestatic |
References ana::function_point::after_supernode(), and program_point().
|
inlinestatic |
References ana::function_point::before_stmt(), and program_point().
|
inlinestatic |
References ana::function_point::before_supernode(), and program_point().
|
inlinestatic |
References ana::function_point::deleted(), and program_point().
void ana::program_point::dump | ( | ) | const |
|
static |
|
inlinestatic |
References ana::function_point::empty(), and program_point().
|
static |
|
inline |
References m_call_string.
Referenced by ana::exploded_graph::detect_infinite_recursion(), and get_stack_depth().
|
inline |
References function::decl, gcc_assert, get_function(), get_kind(), and ana::PK_ORIGIN.
Referenced by infinite_loop_diagnostic::add_final_event().
|
inline |
References ana::function_point::get_from_edge(), and m_function_point.
|
inline |
References ana::function_point::get_function(), and m_function_point.
Referenced by get_fndecl(), and ana::exploded_node::get_function().
function * ana::program_point::get_function_at_depth | ( | unsigned | depth | ) | const |
|
inline |
References m_function_point.
Referenced by ana::model_merger::get_function_point().
|
inline |
References ana::function_point::get_kind(), and m_function_point.
Referenced by get_fndecl(), ana::rewind_info_t::get_setjmp_point(), get_stack_depth(), and is_entrypoint_p().
|
inline |
References ana::function_point::get_location(), and m_function_point.
Referenced by starts_infinite_loop_p().
program_point ana::program_point::get_next | ( | ) | const |
|
inline |
References get_call_string(), get_kind(), ana::call_string::length(), and ana::PK_ORIGIN.
Referenced by infinite_loop_diagnostic::add_final_event(), and ana::exploded_node::get_stack_depth().
|
inline |
References ana::function_point::get_stmt(), and m_function_point.
Referenced by ana::exploded_node::get_stmt().
|
inline |
References ana::function_point::get_stmt_idx(), and m_function_point.
|
inline |
References ana::function_point::get_supernode(), and m_function_point.
Referenced by infinite_loop_diagnostic::add_final_event(), and ana::exploded_node::get_supernode().
hashval_t ana::program_point::hash | ( | ) | const |
Referenced by ana::eg_point_hash_map_traits::hash(), and ana::point_and_state::set_state().
|
inline |
References m_function_point, and ana::function_point::next_stmt().
bool ana::program_point::on_edge | ( | exploded_graph & | eg, |
const superedge * | succ ) |
|
inline |
|
inline |
References m_call_string, and m_function_point.
|
static |
void ana::program_point::pop_from_call_stack | ( | ) |
void ana::program_point::print | ( | pretty_printer * | pp, |
const format & | f ) const |
json::object * ana::program_point::to_json | ( | ) | const |
void ana::program_point::validate | ( | ) | const |
|
private |
Referenced by get_call_string(), and operator==().
|
private |
Referenced by get_from_edge(), get_function(), get_function_point(), get_kind(), get_location(), get_stmt(), get_stmt_idx(), get_supernode(), next_stmt(), and operator==().