GCC Middle and Back End API Reference
ana::return_superedge Class Referenceabstract

#include <supergraph.h>

Inheritance diagram for ana::return_superedge:
Collaboration diagram for ana::return_superedge:

Public Types

typedef supergraph_traits::node_t node_t
 
typedef supergraph_traits::dump_args_t dump_args_t
 

Public Member Functions

 return_superedge (supernode *src, supernode *dst, cgraph_edge *cedge)
 
return_superedgedyn_cast_return_superedge () final override
 
const return_superedgedyn_cast_return_superedge () const final override
 
call_superedgeget_edge_for_call (const supergraph &sg) const
 
void dump_label_to_pp (pretty_printer *pp, bool user_facing) const final override
 
callgraph_superedgedyn_cast_callgraph_superedge () final override
 
const callgraph_superedgedyn_cast_callgraph_superedge () const final override
 
functionget_callee_function () const
 
functionget_caller_function () const
 
tree get_callee_decl () const
 
tree get_caller_decl () const
 
gcallget_call_stmt () const
 
tree get_arg_for_parm (tree parm, callsite_expr *out) const
 
tree get_parm_for_arg (tree arg, callsite_expr *out) const
 
tree map_expr_from_caller_to_callee (tree caller_expr, callsite_expr *out) const
 
tree map_expr_from_callee_to_caller (tree callee_expr, callsite_expr *out) const
 
void dump (pretty_printer *pp) const
 
void dump () const
 
void dump_dot (graphviz_out *gv, const dump_args_t &args) const final override
 
virtual void dump_dot (graphviz_out *gv, const dump_args_t &args) const=0
 
std::unique_ptr< json::objectto_json () const
 
enum edge_kind get_kind () const
 
virtual cfg_superedgedyn_cast_cfg_superedge ()
 
virtual const cfg_superedgedyn_cast_cfg_superedge () const
 
virtual const switch_cfg_superedgedyn_cast_switch_cfg_superedge () const
 
virtual call_superedgedyn_cast_call_superedge ()
 
virtual const call_superedgedyn_cast_call_superedge () const
 
::edge get_any_cfg_edge () const
 
cgraph_edgeget_any_callgraph_edge () const
 
label_text get_description (bool user_facing) const
 

Data Fields

cgraph_edge *const m_cedge
 
enum edge_kind m_kind
 
node_t *const m_src
 
node_t *const m_dest
 

Detailed Description

A subclass of superedge represesnting an interprocedural return.   

Member Typedef Documentation

◆ dump_args_t

◆ node_t

Constructor & Destructor Documentation

◆ return_superedge()

ana::return_superedge::return_superedge ( supernode * src,
supernode * dst,
cgraph_edge * cedge )
inline

Member Function Documentation

◆ dump() [1/2]

void ana::superedge::dump ( ) const
inherited

◆ dump() [2/2]

void ana::superedge::dump ( pretty_printer * pp) const
inherited

◆ dump_dot() [1/2]

void ana::superedge::dump_dot ( graphviz_out * gv,
const dump_args_t & args ) const
finaloverrideinherited

◆ dump_dot() [2/2]

virtual void dedge< supergraph_traits >::dump_dot ( graphviz_out * gv,
const dump_args_t & args ) const
pure virtualinherited

◆ dump_label_to_pp()

void ana::callgraph_superedge::dump_label_to_pp ( pretty_printer * pp,
bool user_facing ) const
finaloverridevirtualinherited

Implements ana::superedge.

◆ dyn_cast_call_superedge() [1/2]

virtual call_superedge * ana::superedge::dyn_cast_call_superedge ( )
inlinevirtualinherited

Reimplemented in ana::call_superedge.

References NULL.

◆ dyn_cast_call_superedge() [2/2]

virtual const call_superedge * ana::superedge::dyn_cast_call_superedge ( ) const
inlinevirtualinherited

Reimplemented in ana::call_superedge.

References NULL.

◆ dyn_cast_callgraph_superedge() [1/2]

const callgraph_superedge * ana::callgraph_superedge::dyn_cast_callgraph_superedge ( ) const
inlinefinaloverridevirtualinherited

Reimplemented from ana::superedge.

◆ dyn_cast_callgraph_superedge() [2/2]

callgraph_superedge * ana::callgraph_superedge::dyn_cast_callgraph_superedge ( )
inlinefinaloverridevirtualinherited

Reimplemented from ana::superedge.

◆ dyn_cast_cfg_superedge() [1/2]

virtual cfg_superedge * ana::superedge::dyn_cast_cfg_superedge ( )
inlinevirtualinherited

◆ dyn_cast_cfg_superedge() [2/2]

virtual const cfg_superedge * ana::superedge::dyn_cast_cfg_superedge ( ) const
inlinevirtualinherited

Reimplemented in ana::cfg_superedge.

References NULL.

◆ dyn_cast_return_superedge() [1/2]

const return_superedge * ana::return_superedge::dyn_cast_return_superedge ( ) const
inlinefinaloverridevirtual

Reimplemented from ana::superedge.

◆ dyn_cast_return_superedge() [2/2]

return_superedge * ana::return_superedge::dyn_cast_return_superedge ( )
inlinefinaloverridevirtual

Reimplemented from ana::superedge.

◆ dyn_cast_switch_cfg_superedge()

virtual const switch_cfg_superedge * ana::superedge::dyn_cast_switch_cfg_superedge ( ) const
inlinevirtualinherited

Reimplemented in ana::switch_cfg_superedge.

References NULL.

Referenced by infinite_loop_diagnostic::add_final_event().

◆ get_any_callgraph_edge()

cgraph_edge * ana::superedge::get_any_callgraph_edge ( ) const
inherited

◆ get_any_cfg_edge()

::edge ana::superedge::get_any_cfg_edge ( ) const
inherited

Referenced by starts_infinite_loop_p().

◆ get_arg_for_parm()

tree ana::callgraph_superedge::get_arg_for_parm ( tree parm,
callsite_expr * out ) const
inherited

◆ get_call_stmt()

gcall * ana::callgraph_superedge::get_call_stmt ( ) const
inherited

◆ get_callee_decl()

tree ana::callgraph_superedge::get_callee_decl ( ) const
inherited

◆ get_callee_function()

function * ana::callgraph_superedge::get_callee_function ( ) const
inherited

◆ get_caller_decl()

tree ana::callgraph_superedge::get_caller_decl ( ) const
inherited

◆ get_caller_function()

function * ana::callgraph_superedge::get_caller_function ( ) const
inherited

◆ get_description()

label_text ana::superedge::get_description ( bool user_facing) const
inherited

◆ get_edge_for_call()

call_superedge * ana::return_superedge::get_edge_for_call ( const supergraph & sg) const
inline

◆ get_kind()

enum edge_kind ana::superedge::get_kind ( ) const
inlineinherited

◆ get_parm_for_arg()

tree ana::callgraph_superedge::get_parm_for_arg ( tree arg,
callsite_expr * out ) const
inherited

◆ map_expr_from_callee_to_caller()

tree ana::callgraph_superedge::map_expr_from_callee_to_caller ( tree callee_expr,
callsite_expr * out ) const
inherited

◆ map_expr_from_caller_to_callee()

tree ana::callgraph_superedge::map_expr_from_caller_to_callee ( tree caller_expr,
callsite_expr * out ) const
inherited

◆ to_json()

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

Field Documentation

◆ m_cedge

cgraph_edge* const ana::callgraph_superedge::m_cedge
inherited

◆ m_dest

node_t* const dedge< supergraph_traits >::m_dest
inherited

◆ m_kind

enum edge_kind ana::superedge::m_kind
inherited

◆ m_src


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