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

#include <program-point.h>

Collaboration diagram for ana::function_point:

Public Member Functions

 function_point (const supernode *supernode, const superedge *from_edge, unsigned stmt_idx, enum point_kind kind)
 
void print (pretty_printer *pp, const format &f) const
 
void print_source_line (pretty_printer *pp) const
 
void dump () const
 
hashval_t hash () const
 
bool operator== (const function_point &other) const
 
const supernodeget_supernode () const
 
functionget_function () const
 
const gimpleget_stmt () const
 
location_t get_location () const
 
enum point_kind get_kind () const
 
const superedgeget_from_edge () const
 
unsigned get_stmt_idx () const
 
bool final_stmt_p () const
 
void next_stmt ()
 
function_point get_next () const
 

Static Public Member Functions

static function_point from_function_entry (const supergraph &sg, const function &fun)
 
static function_point before_supernode (const supernode *supernode, const superedge *from_edge)
 
static function_point before_stmt (const supernode *supernode, unsigned stmt_idx)
 
static function_point after_supernode (const supernode *supernode)
 
static function_point empty ()
 
static function_point deleted ()
 
static int cmp_within_supernode_1 (const function_point &point_a, const function_point &point_b)
 
static int cmp_within_supernode (const function_point &point_a, const function_point &point_b)
 
static int cmp (const function_point &point_a, const function_point &point_b)
 
static int cmp_ptr (const void *p1, const void *p2)
 

Private Attributes

const supernodem_supernode
 
const superedgem_from_edge
 
unsigned m_stmt_idx
 
enum point_kind m_kind
 

Detailed Description

A class for representing a location within the program, without
interprocedural information.

This represents a fine-grained location within the supergraph (or
within one of its nodes).   

Constructor & Destructor Documentation

◆ function_point()

ana::function_point::function_point ( const supernode * supernode,
const superedge * from_edge,
unsigned stmt_idx,
enum point_kind kind )

Member Function Documentation

◆ after_supernode()

static function_point ana::function_point::after_supernode ( const supernode * supernode)
inlinestatic

◆ before_stmt()

static function_point ana::function_point::before_stmt ( const supernode * supernode,
unsigned stmt_idx )
inlinestatic

◆ before_supernode()

static function_point ana::function_point::before_supernode ( const supernode * supernode,
const superedge * from_edge )
static

◆ cmp()

static int ana::function_point::cmp ( const function_point & point_a,
const function_point & point_b )
static

◆ cmp_ptr()

static int ana::function_point::cmp_ptr ( const void * p1,
const void * p2 )
static

◆ cmp_within_supernode()

static int ana::function_point::cmp_within_supernode ( const function_point & point_a,
const function_point & point_b )
static

◆ cmp_within_supernode_1()

static int ana::function_point::cmp_within_supernode_1 ( const function_point & point_a,
const function_point & point_b )
static

◆ deleted()

static function_point ana::function_point::deleted ( )
inlinestatic

◆ dump()

void ana::function_point::dump ( ) const

◆ empty()

static function_point ana::function_point::empty ( )
inlinestatic

◆ final_stmt_p()

bool ana::function_point::final_stmt_p ( ) const

◆ from_function_entry()

static function_point ana::function_point::from_function_entry ( const supergraph & sg,
const function & fun )
static

◆ get_from_edge()

const superedge * ana::function_point::get_from_edge ( ) const
inline

◆ get_function()

function * ana::function_point::get_function ( ) const

◆ get_kind()

enum point_kind ana::function_point::get_kind ( ) const
inline

References m_kind.

Referenced by ana::program_point::get_kind().

◆ get_location()

location_t ana::function_point::get_location ( ) const

◆ get_next()

function_point ana::function_point::get_next ( ) const

◆ get_stmt()

const gimple * ana::function_point::get_stmt ( ) const

◆ get_stmt_idx()

unsigned ana::function_point::get_stmt_idx ( ) const
inline

◆ get_supernode()

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

◆ hash()

hashval_t ana::function_point::hash ( ) const

◆ next_stmt()

void ana::function_point::next_stmt ( )

◆ operator==()

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

◆ print()

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

◆ print_source_line()

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

Field Documentation

◆ m_from_edge

const superedge* ana::function_point::m_from_edge
private

Referenced by get_from_edge(), and operator==().

◆ m_kind

enum point_kind ana::function_point::m_kind
private

Referenced by get_kind(), get_stmt_idx(), and operator==().

◆ m_stmt_idx

unsigned ana::function_point::m_stmt_idx
private

Referenced by get_stmt_idx(), and operator==().

◆ m_supernode

const supernode* ana::function_point::m_supernode
private

Referenced by get_supernode(), and operator==().


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