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

#include <supergraph.h>

Inheritance diagram for ana::eh_dispatch_allowed_cfg_superedge:
Collaboration diagram for ana::eh_dispatch_allowed_cfg_superedge:

Public Types

enum  eh_kind { expected , unexpected }
typedef supergraph_traits::node_t node_t
typedef supergraph_traits::dump_args_t dump_args_t

Public Member Functions

 eh_dispatch_allowed_cfg_superedge (supernode *src, supernode *dst, ::edge e, const geh_dispatch *eh_dispatch_stmt, eh_region eh_reg)
const eh_dispatch_allowed_cfg_superedgedyn_cast_eh_dispatch_allowed_cfg_superedge () const final override
void dump_label_to_pp (pretty_printer *pp, bool user_facing) const final override
bool apply_constraints (region_model *model, region_model_context *ctxt, tree exception_type, std::unique_ptr< rejected_constraint > *out) const final override
enum eh_kind get_eh_kind () const
const eh_dispatch_cfg_superedgedyn_cast_eh_dispatch_cfg_superedge () const final override
const geh_dispatchget_eh_dispatch_stmt () const
const eh_statusget_eh_status () const
eh_region get_eh_region () const
cfg_superedgedyn_cast_cfg_superedge () final override
const cfg_superedgedyn_cast_cfg_superedge () const final override
::edge get_cfg_edge () const
int get_flags () const
int true_value_p () const
int false_value_p () const
int back_edge_p () const
size_t get_phi_arg_idx () const
tree get_phi_arg (const gphi *phi) const
location_t get_goto_locus () 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 const switch_cfg_superedgedyn_cast_switch_cfg_superedge () const
virtual const eh_dispatch_try_cfg_superedgedyn_cast_eh_dispatch_try_cfg_superedge () const
virtual callgraph_superedgedyn_cast_callgraph_superedge ()
virtual const callgraph_superedgedyn_cast_callgraph_superedge () const
virtual call_superedgedyn_cast_call_superedge ()
virtual const call_superedgedyn_cast_call_superedge () const
virtual return_superedgedyn_cast_return_superedge ()
virtual const return_superedgedyn_cast_return_superedge () const
::edge get_any_cfg_edge () const
cgraph_edgeget_any_callgraph_edge () const
label_text get_description (bool user_facing) const

Static Public Member Functions

static std::unique_ptr< eh_dispatch_cfg_superedgemake (supernode *src, supernode *dest, ::edge e, const geh_dispatch *eh_dispatch_stmt)

Data Fields

node_t *const m_src
node_t *const m_dest

Private Attributes

enum eh_kind m_kind
const geh_dispatchm_eh_dispatch_stmt
eh_region m_eh_region
const ::edge m_cfg_edge

Detailed Description

A concrete subclass for edges from an eh_dispatch statements
for ERT_ALLOWED_EXCEPTIONS regions.   

Member Typedef Documentation

◆ dump_args_t

typedef supergraph_traits::dump_args_t dedge< supergraph_traits >::dump_args_t
inherited

◆ node_t

typedef supergraph_traits::node_t dedge< supergraph_traits >::node_t
inherited

Member Enumeration Documentation

◆ eh_kind

Enumerator
expected 
unexpected 

Constructor & Destructor Documentation

◆ eh_dispatch_allowed_cfg_superedge()

ana::eh_dispatch_allowed_cfg_superedge::eh_dispatch_allowed_cfg_superedge ( supernode * src,
supernode * dst,
::edge e,
const geh_dispatch * eh_dispatch_stmt,
eh_region eh_reg )

Member Function Documentation

◆ apply_constraints()

bool ana::eh_dispatch_allowed_cfg_superedge::apply_constraints ( region_model * model,
region_model_context * ctxt,
tree exception_type,
std::unique_ptr< rejected_constraint > * out ) const
finaloverridevirtual

◆ back_edge_p()

int ana::cfg_superedge::back_edge_p ( ) const
inlineinherited

◆ 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::eh_dispatch_allowed_cfg_superedge::dump_label_to_pp ( pretty_printer * pp,
bool user_facing ) const
finaloverridevirtual

Reimplemented from ana::cfg_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]

virtual callgraph_superedge * ana::superedge::dyn_cast_callgraph_superedge ( )
inlinevirtualinherited

Reimplemented in ana::callgraph_superedge.

References NULL.

◆ dyn_cast_callgraph_superedge() [2/2]

virtual const callgraph_superedge * ana::superedge::dyn_cast_callgraph_superedge ( ) const
inlinevirtualinherited

Reimplemented in ana::callgraph_superedge.

References NULL.

◆ dyn_cast_cfg_superedge() [1/2]

const cfg_superedge * ana::cfg_superedge::dyn_cast_cfg_superedge ( ) const
inlinefinaloverridevirtualinherited

Reimplemented from ana::superedge.

References cfg_superedge(), and final().

◆ dyn_cast_cfg_superedge() [2/2]

cfg_superedge * ana::cfg_superedge::dyn_cast_cfg_superedge ( )
inlinefinaloverridevirtualinherited

Reimplemented from ana::superedge.

References cfg_superedge(), and final().

Referenced by infinite_loop_diagnostic::add_final_event().

◆ dyn_cast_eh_dispatch_allowed_cfg_superedge()

const eh_dispatch_allowed_cfg_superedge * ana::eh_dispatch_allowed_cfg_superedge::dyn_cast_eh_dispatch_allowed_cfg_superedge ( ) const
inlinefinaloverridevirtual

Reimplemented from ana::superedge.

References final().

◆ dyn_cast_eh_dispatch_cfg_superedge()

const eh_dispatch_cfg_superedge * ana::eh_dispatch_cfg_superedge::dyn_cast_eh_dispatch_cfg_superedge ( ) const
inlinefinaloverridevirtualinherited

Reimplemented from ana::superedge.

References eh_dispatch_cfg_superedge(), and final().

◆ dyn_cast_eh_dispatch_try_cfg_superedge()

virtual const eh_dispatch_try_cfg_superedge * ana::superedge::dyn_cast_eh_dispatch_try_cfg_superedge ( ) const
inlinevirtualinherited

◆ dyn_cast_return_superedge() [1/2]

virtual return_superedge * ana::superedge::dyn_cast_return_superedge ( )
inlinevirtualinherited

Reimplemented in ana::return_superedge.

References NULL.

◆ dyn_cast_return_superedge() [2/2]

virtual const return_superedge * ana::superedge::dyn_cast_return_superedge ( ) const
inlinevirtualinherited

Reimplemented in ana::return_superedge.

References NULL.

◆ 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().

◆ false_value_p()

int ana::cfg_superedge::false_value_p ( ) const
inlineinherited

◆ 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_cfg_edge()

::edge ana::cfg_superedge::get_cfg_edge ( ) const
inlineinherited

References m_cfg_edge.

◆ get_description()

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

◆ get_eh_dispatch_stmt()

const geh_dispatch * ana::eh_dispatch_cfg_superedge::get_eh_dispatch_stmt ( ) const
inlineinherited

References m_eh_dispatch_stmt.

◆ get_eh_kind()

enum eh_kind ana::eh_dispatch_allowed_cfg_superedge::get_eh_kind ( ) const
inline

References m_kind.

◆ get_eh_region()

eh_region ana::eh_dispatch_cfg_superedge::get_eh_region ( ) const
inlineinherited

References m_eh_region.

◆ get_eh_status()

const eh_status & ana::eh_dispatch_cfg_superedge::get_eh_status ( ) const
inherited

◆ get_flags()

int ana::cfg_superedge::get_flags ( ) const
inlineinherited

References m_cfg_edge.

Referenced by back_edge_p(), false_value_p(), and true_value_p().

◆ get_goto_locus()

location_t ana::cfg_superedge::get_goto_locus ( ) const
inlineinherited

◆ get_kind()

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

References m_kind.

◆ get_phi_arg()

tree ana::cfg_superedge::get_phi_arg ( const gphi * phi) const
inherited

◆ get_phi_arg_idx()

size_t ana::cfg_superedge::get_phi_arg_idx ( ) const
inherited

◆ make()

std::unique_ptr< eh_dispatch_cfg_superedge > ana::eh_dispatch_cfg_superedge::make ( supernode * src,
supernode * dest,
::edge e,
const geh_dispatch * eh_dispatch_stmt )
staticinherited

◆ to_json()

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

◆ true_value_p()

int ana::cfg_superedge::true_value_p ( ) const
inlineinherited

Field Documentation

◆ m_cfg_edge

const ::edge ana::cfg_superedge::m_cfg_edge
privateinherited

◆ m_dest

node_t* const dedge< supergraph_traits >::m_dest
inherited

◆ m_eh_dispatch_stmt

const geh_dispatch* ana::eh_dispatch_cfg_superedge::m_eh_dispatch_stmt
privateinherited

Referenced by get_eh_dispatch_stmt().

◆ m_eh_region

eh_region ana::eh_dispatch_cfg_superedge::m_eh_region
privateinherited

Referenced by get_eh_region().

◆ m_kind

enum eh_kind ana::eh_dispatch_allowed_cfg_superedge::m_kind
private

Referenced by get_eh_kind().

◆ m_src


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