PandA-2024.02
|
Class used to sort operation using ALAP in ascending order as primary key and ASAP ascending order as secondary key. More...
Public Member Functions | |
SDCSorter (const ScheduleConstRef _asap, const ScheduleConstRef _alap, const FunctionBehaviorConstRef _function_behavior, const OpGraphConstRef _op_graph, std::set< vertex, bb_vertex_order_by_map > loop_bbs, const ParameterConstRef _parameters) | |
Constructor. More... | |
bool | operator() (const vertex x, const vertex y) const |
Compare position of two vertices. More... | |
Private Attributes | |
const ScheduleConstRef | asap |
ASAP. More... | |
const ScheduleConstRef | alap |
ALAP. More... | |
const FunctionBehaviorConstRef | function_behavior |
The function behavior. More... | |
const BBGraphConstRef | basic_block_graph |
The basic block graph. More... | |
const OpGraphConstRef | op_graph |
The operation graph. More... | |
CustomMap< vertex, CustomSet< vertex > > | reachability_map |
The reachability map built on the basis of dependencies, consolidated choices and current choice. More... | |
const CustomUnorderedMap< unsigned int, vertex > & | bb_index_map |
The index basic block map. More... | |
CustomMap< vertex, size_t > | op_levels |
For each operation its level. More... | |
const ParameterConstRef | parameters |
The set of input parameters. More... | |
const int | debug_level |
The debug level. More... | |
Class used to sort operation using ALAP in ascending order as primary key and ASAP ascending order as secondary key.
Definition at line 80 of file sdc_scheduling.cpp.
|
inline |
Constructor.
_asap | is the asap information |
_alap | is the alap information |
_function_behavior | is the function behavior |
_op_graph | is the operation graph |
_statements_list | is the list of the statements of the basic block |
_parameters | is the set of input parameters |
The position in the basic block
We cluster candidate operations according to alap and asap - must be maps since we exploit order
For each cluster
Definition at line 123 of file sdc_scheduling.cpp.
References BBGraph::CGetBBNodeInfo(), DEBUG_LEVEL_VERY_PEDANTIC, refcount< T >::get(), INDENT_DBG_MEX, and lenet_tvm::target.
Compare position of two vertices.
x | is the first vertex |
y | is the second vertex |
Definition at line 189 of file sdc_scheduling.cpp.
References THROW_ASSERT.
|
private |
ALAP.
Definition at line 87 of file sdc_scheduling.cpp.
|
private |
ASAP.
Definition at line 84 of file sdc_scheduling.cpp.
|
private |
The basic block graph.
Definition at line 93 of file sdc_scheduling.cpp.
|
private |
The index basic block map.
Definition at line 102 of file sdc_scheduling.cpp.
|
private |
The debug level.
Definition at line 111 of file sdc_scheduling.cpp.
|
private |
The function behavior.
Definition at line 90 of file sdc_scheduling.cpp.
|
private |
The operation graph.
Definition at line 96 of file sdc_scheduling.cpp.
For each operation its level.
Definition at line 105 of file sdc_scheduling.cpp.
|
private |
The set of input parameters.
Definition at line 108 of file sdc_scheduling.cpp.
The reachability map built on the basis of dependencies, consolidated choices and current choice.
Definition at line 99 of file sdc_scheduling.cpp.