PandA-2024.02
|
Class used to compute weak dominance. More...
#include <weak_dominance.hpp>
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 graph * | input |
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... | |
Class used to compute weak dominance.
Definition at line 58 of file weak_dominance.hpp.
weak_dominance::weak_dominance | ( | const graph * | _input, |
vertex | _start, | ||
vertex | _end, | ||
const ParameterConstRef | param, | ||
int | selector = WD_SELECTOR |
||
) |
Constructor.
_input | is the input graph |
_start | is the start vertex |
_end | is the end vertex |
_param | is the set of input parameters |
_selector | is the selctor of edges to be added |
Definition at line 115 of file weak_dominance.cpp.
|
default |
Destructor.
|
private |
Add a weak dominance edge between two nodes.
source | is the source vertex |
target | is the target vertex |
output | is 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().
void weak_dominance::calculate_weak_dominance_info | ( | graphs_collection * | output, |
CustomUnorderedMap< vertex, vertex > & | i2o, | ||
CustomUnorderedMap< vertex, vertex > & | o2i | ||
) |
Compute weak dominance info.
Header include.
output | is the graph on which weak dominance edges have to be added; |
i2o | is the map from input vertex to output vertex |
o2i | is 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.
|
private |
the debug level
Definition at line 77 of file weak_dominance.hpp.
|
private |
the exit vertex
Definition at line 68 of file weak_dominance.hpp.
Referenced by calculate_weak_dominance_info().
|
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().
|
private |
The set of input parameters.
Definition at line 74 of file weak_dominance.hpp.
Referenced by calculate_weak_dominance_info().
|
private |
the selector used in output graph
Definition at line 71 of file weak_dominance.hpp.
Referenced by add_edge().
|
private |
the entry vertex
Definition at line 65 of file weak_dominance.hpp.
Referenced by calculate_weak_dominance_info().