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

Class used to sort operation using ALAP in ascending order as primary key and ASAP ascending order as secondary key. More...

Inheritance diagram for SDCSorter:
Inheritance graph
[legend]
Collaboration diagram for SDCSorter:
Collaboration graph
[legend]

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_top_levels
 For each operation its level. More...
 
const ParameterConstRef parameters
 The set of input parameters. More...
 
const int debug_level
 The debug level. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SDCSorter()

SDCSorter::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 
)
inline

Constructor.

Parameters
_asapis the asap information
_alapis the alap information
_function_behavioris the function behavior
_op_graphis the operation graph
_statements_listis the list of the statements of the basic block
_parametersis 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.

Here is the call graph for this function:

Member Function Documentation

◆ operator()()

bool SDCSorter::operator() ( const vertex  x,
const vertex  y 
) const
inline

Compare position of two vertices.

Parameters
xis the first vertex
yis the second vertex
Returns
true if x precedes y in topological sort, false otherwise

Definition at line 189 of file sdc_scheduling.cpp.

References THROW_ASSERT.

Field Documentation

◆ alap

const ScheduleConstRef SDCSorter::alap
private

ALAP.

Definition at line 87 of file sdc_scheduling.cpp.

◆ asap

const ScheduleConstRef SDCSorter::asap
private

ASAP.

Definition at line 84 of file sdc_scheduling.cpp.

◆ basic_block_graph

const BBGraphConstRef SDCSorter::basic_block_graph
private

The basic block graph.

Definition at line 93 of file sdc_scheduling.cpp.

◆ bb_index_map

const CustomUnorderedMap<unsigned int, vertex>& SDCSorter::bb_index_map
private

The index basic block map.

Definition at line 102 of file sdc_scheduling.cpp.

◆ debug_level

const int SDCSorter::debug_level
private

The debug level.

Definition at line 111 of file sdc_scheduling.cpp.

◆ function_behavior

const FunctionBehaviorConstRef SDCSorter::function_behavior
private

The function behavior.

Definition at line 90 of file sdc_scheduling.cpp.

◆ op_graph

const OpGraphConstRef SDCSorter::op_graph
private

The operation graph.

Definition at line 96 of file sdc_scheduling.cpp.

◆ op_levels

CustomMap<vertex, size_t> SDCSorter::op_levels
private

For each operation its level.

Definition at line 105 of file sdc_scheduling.cpp.

◆ parameters

const ParameterConstRef SDCSorter::parameters
private

The set of input parameters.

Definition at line 108 of file sdc_scheduling.cpp.

◆ reachability_map

CustomMap<vertex, CustomSet<vertex> > SDCSorter::reachability_map
private

The reachability map built on the basis of dependencies, consolidated choices and current choice.

Definition at line 99 of file sdc_scheduling.cpp.


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

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