GCC Middle and Back End API Reference
ana::program_point Class Reference

#include <program-point.h>

Collaboration diagram for ana::program_point:

Public Member Functions

 program_point (const supernode *snode, const call_string &call_string)
void print (pretty_printer *pp, const format &f) const
void dump () const
void print_source_line (pretty_printer *pp) const
std::unique_ptr< json::objectto_json () const
hashval_t hash () const
bool operator== (const program_point &other) const
bool operator!= (const program_point &other) const
const supernodeget_supernode () const
const call_stringget_call_string () const
functionget_function () const
functionget_function_at_depth (unsigned depth) const
tree get_fndecl () const
location_t get_location () const
int get_stack_depth () const
bool state_merge_at_p () const
void pop_from_call_stack ()
void validate () 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 bool effectively_intraprocedural_p (const program_point &point_a, const program_point &point_b)

Private Attributes

const supernodem_snode
const call_stringm_call_string

Detailed Description

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.   

Constructor & Destructor Documentation

◆ program_point()

ana::program_point::program_point ( const supernode * snode,
const call_string & call_string )
inline

Member Function Documentation

◆ dump()

void ana::program_point::dump ( ) const

◆ effectively_intraprocedural_p()

bool ana::program_point::effectively_intraprocedural_p ( const program_point & point_a,
const program_point & point_b )
static

References program_point().

◆ from_function_entry()

program_point ana::program_point::from_function_entry ( const region_model_manager & mgr,
const supergraph & sg,
const function & fun )
static

References program_point().

◆ get_call_string()

const call_string & ana::program_point::get_call_string ( ) const
inline

◆ get_fndecl()

tree ana::program_point::get_fndecl ( ) const
inline

◆ get_function()

function * ana::program_point::get_function ( ) const
inline

References m_snode.

Referenced by get_fndecl(), and ana::exploded_node::get_function().

◆ get_function_at_depth()

function * ana::program_point::get_function_at_depth ( unsigned depth) const

◆ get_location()

location_t ana::program_point::get_location ( ) const
inline

◆ get_stack_depth()

int ana::program_point::get_stack_depth ( ) const
inline

◆ get_supernode()

const supernode * ana::program_point::get_supernode ( ) const
inline

◆ hash()

hashval_t ana::program_point::hash ( ) const

◆ operator!=()

bool ana::program_point::operator!= ( const program_point & other) const
inline

References program_point().

◆ operator==()

bool ana::program_point::operator== ( const program_point & other) const
inline

◆ origin()

program_point ana::program_point::origin ( const region_model_manager & mgr)
static

References program_point().

◆ pop_from_call_stack()

void ana::program_point::pop_from_call_stack ( )

◆ print()

void ana::program_point::print ( pretty_printer * pp,
const format & f ) const

◆ print_source_line()

void ana::program_point::print_source_line ( pretty_printer * pp) const

◆ state_merge_at_p()

bool ana::program_point::state_merge_at_p ( ) const
inline

References m_snode.

◆ to_json()

std::unique_ptr< json::object > ana::program_point::to_json ( ) const

◆ validate()

void ana::program_point::validate ( ) const

Field Documentation

◆ m_call_string

const call_string* ana::program_point::m_call_string
private

◆ m_snode

const supernode* ana::program_point::m_snode
private

The documentation for this class was generated from the following file: