|
GCC Middle and Back End API Reference
|
#include <program-point.h>

Public Member Functions | |
| program_point (const function_point &fn_point, const call_string &call_string) | |
| void | print (pretty_printer *pp, const format &f) const |
| void | dump () const |
| std::unique_ptr< json::object > | to_json () const |
| hashval_t | hash () const |
| bool | operator== (const program_point &other) const |
| bool | operator!= (const program_point &other) const |
| const function_point & | get_function_point () const |
| const call_string & | get_call_string () const |
| const supernode * | get_supernode () const |
| function * | get_function () const |
| function * | get_function_at_depth (unsigned depth) const |
| tree | get_fndecl () const |
| const gimple * | get_stmt () const |
| location_t | get_location () const |
| enum point_kind | get_kind () const |
| const superedge * | get_from_edge () const |
| unsigned | get_stmt_idx () const |
| int | get_stack_depth () const |
| bool | on_edge (exploded_graph &eg, const superedge *succ) |
| void | push_to_call_stack (const supernode *caller, const supernode *callee) |
| void | pop_from_call_stack () |
| void | validate () const |
| void | next_stmt () |
| program_point | get_next () const |
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 |
References m_call_string, and m_function_point.
Referenced by after_supernode(), before_stmt(), before_supernode(), deleted(), effectively_intraprocedural_p(), empty(), from_function_entry(), get_next(), operator!=(), operator==(), and origin().
|
inlineprivate |
References m_call_string, and m_function_point.
|
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 |
References program_point().
|
inlinestatic |
References ana::function_point::empty(), and program_point().
|
static |
References program_point().
|
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 m_function_point.
|
inline |
References 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.
|
inline |
References m_function_point.
Referenced by get_fndecl(), ana::rewind_info_t::get_setjmp_point(), get_stack_depth(), and is_entrypoint_p().
|
inline |
References m_function_point.
Referenced by starts_infinite_loop_p().
| program_point ana::program_point::get_next | ( | ) | const |
References program_point().
|
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 m_function_point.
Referenced by ana::exploded_node::get_stmt().
|
inline |
References m_function_point.
|
inline |
References 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().
|
inline |
References m_function_point.
| bool ana::program_point::on_edge | ( | exploded_graph & | eg, |
| const superedge * | succ ) |
|
inline |
References program_point().
|
inline |
References m_call_string, m_function_point, and program_point().
|
static |
References program_point().
| void ana::program_point::pop_from_call_stack | ( | ) |
| void ana::program_point::print | ( | pretty_printer * | pp, |
| const format & | f ) const |
| std::unique_ptr< json::object > ana::program_point::to_json | ( | ) | const |
| void ana::program_point::validate | ( | ) | const |
|
private |
Referenced by get_call_string(), operator==(), program_point(), and program_point().
|
private |