63 os <<
"Function where locks will be allocated:" << std::endl;
65 <<
HLSMgr->CGetFunctionBehavior(omp_functions->
locks_allocation)->CGetBehavioralHelper()->get_function_name()
67 os << std::string(
indentation,
' ') <<
"Functions which wrap omp for loops:" << std::endl;
71 <<
HLSMgr->CGetFunctionBehavior(omp_for_wrapper)->CGetBehavioralHelper()->get_function_name() << std::endl;
73 os << std::string(
indentation,
' ') <<
"Functions that are kernel:" << std::endl;
77 <<
HLSMgr->CGetFunctionBehavior(
kernel_functions)->CGetBehavioralHelper()->get_function_name() << std::endl;
79 os << std::string(
indentation,
' ') <<
"Functions that are atomic:" << std::endl;
83 <<
HLSMgr->CGetFunctionBehavior(
atomic_functions)->CGetBehavioralHelper()->get_function_name() << std::endl;
85 os << std::string(
indentation,
' ') <<
"Functions that are inside the kernel:" << std::endl;
92 os << std::string(
indentation,
' ') <<
"Functions that are top of the parallel:" << std::endl;
100 <<
"Functions which have to be created in multiple parallel instances:" << std::endl;
104 <<
HLSMgr->CGetFunctionBehavior(parallelized_function)->CGetBehavioralHelper()->get_function_name()
107 os << std::string(
indentation,
' ') <<
"Functions which lock/unlock mutexes:" << std::endl;
111 <<
HLSMgr->CGetFunctionBehavior(locking_function)->CGetBehavioralHelper()->get_function_name() << std::endl;
114 <<
"Functions which propagate accesses to mutexes (in mutual exclusions):" << std::endl;
121 os << std::string(
indentation,
' ') <<
"Functions which propagate accesses to mutexes (in parallel):" << std::endl;
125 <<
HLSMgr->CGetFunctionBehavior(locks_parallel_communication)->CGetBehavioralHelper()->get_function_name()
Data structure representing the entire HLS information.
File containing functions and utilities to support the printing of debug messagges.
friend std::ostream & operator<<(std::ostream &os, const OmpFunctions *omp_function)
Friend definition of the << operator.
CustomSet< unsigned int > hierarchical_functions
The set of functions which have to be parallelized.
CustomSet< unsigned int > kernel_functions
The set of functions which have to be parallelized.
OmpFunctions(const HLS_managerConstRef HLSMgr)
Constructor.
CustomSet< unsigned int > parallelized_functions
The set of functions which have to be parallelized.
unsigned int locks_allocation
The function where locks have to be instantiated.
CustomSet< unsigned int > locking_functions
The set of functions which lock/unlock mutexes.
const HLS_managerConstRef HLSMgr
The HLS manager.
CustomSet< unsigned int > locks_merge_communication
The set of functions propagating accesses to locks in mutual exclusions.
CustomSet< unsigned int > atomic_functions
The set of functions which have to be parallelized.
size_t indentation
The current indentation for debug messages.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
CustomSet< unsigned int > locks_parallel_comunication
The set of functions propagating accesses to locks in parallel.
CustomSet< unsigned int > omp_for_wrappers
The set of openmp for wrappers.
Datastructure to describe functions allocation in high-level synthesis.
A brief description of the C++ Header File.