PandA-2024.02
Public Member Functions | Private Member Functions | Private Attributes
weak_dominance Class Reference

Class used to compute weak dominance. More...

#include <weak_dominance.hpp>

Collaboration diagram for weak_dominance:
Collaboration graph
[legend]

Public Member Functions

 weak_dominance (const graph *_input, vertex _start, vertex _end, const ParameterConstRef param, int selector=WD_SELECTOR)
 Constructor. More...
 
 ~weak_dominance ()=default
 Destructor. More...
 
void calculate_weak_dominance_info (graphs_collection *output, CustomUnorderedMap< vertex, vertex > &i2o, CustomUnorderedMap< vertex, vertex > &o2i)
 Compute weak dominance info. More...
 

Private Member Functions

void add_edge (vertex source, vertex target, graphs_collection *output)
 Add a weak dominance edge between two nodes. More...
 

Private Attributes

const graphinput
 the input graph (not const since node info are copied in the new graph More...
 
vertex start
 the entry vertex More...
 
vertex end
 the exit vertex More...
 
const int selector
 the selector used in output graph More...
 
const ParameterConstRef param
 The set of input parameters. More...
 
const int debug_level
 the debug level More...
 

Detailed Description

Class used to compute weak dominance.

Definition at line 58 of file weak_dominance.hpp.

Constructor & Destructor Documentation

◆ weak_dominance()

weak_dominance::weak_dominance ( const graph _input,
vertex  _start,
vertex  _end,
const ParameterConstRef  param,
int  selector = WD_SELECTOR 
)

Constructor.

Parameters
_inputis the input graph
_startis the start vertex
_endis the end vertex
_paramis the set of input parameters
_selectoris the selctor of edges to be added

Definition at line 115 of file weak_dominance.cpp.

◆ ~weak_dominance()

weak_dominance::~weak_dominance ( )
default

Destructor.

Member Function Documentation

◆ add_edge()

void weak_dominance::add_edge ( vertex  source,
vertex  target,
graphs_collection output 
)
private

Add a weak dominance edge between two nodes.

Parameters
sourceis the source vertex
targetis the target vertex
outputis the graph

Definition at line 126 of file weak_dominance.cpp.

References graphs_collection::AddSelector(), graphs_collection::ExistsEdge(), graphs_collection::InternalAddEdge(), and selector.

Referenced by calculate_weak_dominance_info().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculate_weak_dominance_info()

void weak_dominance::calculate_weak_dominance_info ( graphs_collection output,
CustomUnorderedMap< vertex, vertex > &  i2o,
CustomUnorderedMap< vertex, vertex > &  o2i 
)

Compute weak dominance info.

Header include.

Parameters
outputis the graph on which weak dominance edges have to be added;
i2ois the map from input vertex to output vertex
o2iis the map from output vertex to input vertex

Definition at line 57 of file weak_dominance.cpp.

References A, add_edge(), graphs_collection::AddVertex(), B, dominance< GraphObj >::calculate_dominance_info(), counter, edges, end, dominance< GraphObj >::get_dominator_map(), input, level, param, start, lenet_tvm::target, and THROW_ASSERT.

Here is the call graph for this function:

Field Documentation

◆ debug_level

const int weak_dominance::debug_level
private

the debug level

Definition at line 77 of file weak_dominance.hpp.

◆ end

vertex weak_dominance::end
private

the exit vertex

Definition at line 68 of file weak_dominance.hpp.

Referenced by calculate_weak_dominance_info().

◆ input

const graph* weak_dominance::input
private

the input graph (not const since node info are copied in the new graph

Definition at line 62 of file weak_dominance.hpp.

Referenced by calculate_weak_dominance_info().

◆ param

const ParameterConstRef weak_dominance::param
private

The set of input parameters.

Definition at line 74 of file weak_dominance.hpp.

Referenced by calculate_weak_dominance_info().

◆ selector

const int weak_dominance::selector
private

the selector used in output graph

Definition at line 71 of file weak_dominance.hpp.

Referenced by add_edge().

◆ start

vertex weak_dominance::start
private

the entry vertex

Definition at line 65 of file weak_dominance.hpp.

Referenced by calculate_weak_dominance_info().


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

Generated on Mon Feb 12 2024 13:04:10 for PandA-2024.02 by doxygen 1.8.13