1#ifndef _GLOBAL_SUSPENSION_AUTOMATA_H_
2#define _GLOBAL_SUSPENSION_AUTOMATA_H_
22 typedef pair<entryFunctionInstanceIdPairType, transitionVectorType>
24 typedef map<entryFunctionInstanceIdPairType, transitionVectorType>
39 typedef pair<EntryFunctionContainer *, FindGPUMacro::forStmtGPUMacroMapType>
41 typedef map<EntryFunctionContainer *, FindGPUMacro::forStmtGPUMacroMapType>
55 bool GPUMap(
float, vector<SusCFG *>,
float &);
57 float maxTime(vector<SusCFG *>,
unsigned int);
58 float max(
float,
float);
59 vector<SusCFG *>
merge_sort(vector<SusCFG *>, vector<SusCFG *>);
A set of utility functions in the Utility class.
std::vector< clang::CallExpr * > NotifyCallListType
map< EntryFunctionContainer *, FindGPUMacro::forStmtGPUMacroMapType > entryFunctionMacroMapType
Model::moduleInstanceMapType _moduleInstanceMap
pair< Transition *, timePairType > transitionTimePairType
transitionVectorType getIncomingTransitions(State *)
pair< entryFunctionInstanceIdPairType, transitionVectorType > instanceFunctionSautoPairType
stateTransitionsMapType _incomingTransitionsMap
float maxTime(vector< SusCFG * >, unsigned int)
void annotateTransitionsDPSeg(Transition *, int)
pair< SusCFG *, GPUMacro * > susCFGBlockGPUMacroPairType
vector< SusCFG * > merge_sort(vector< SusCFG * >, vector< SusCFG * >)
entryFunctionMacroMapType getEntryFunctionMacroMap()
map< Transition *, timePairType > transitionTimeMapType
transitionVectorType getOutgoingTransitions(State *)
transitionTimeMapType getTransitionTimeMap()
map< State *, vector< Transition * > > stateTransitionsMapType
pair< Transition *, bool > visitTransitionPairType
bool GPUMap(float, vector< SusCFG * >, float &)
map< string, timePairType > eventNotificationTimeMapType
~GlobalSuspensionAutomata()
string getArgumentName(Expr *)
map< Transition *, bool > visitTransitionMapType
transitionTimeMapType _transitionTimeMap
string getNotifyEventName(const CFGStmt *)
map< EntryFunctionContainer *, int > entryFunctionInstanceIdMapType
vector< Transition * > transitionVectorType
map< SusCFG *, GPUMacro * > susCFGBlockGPUMacroMapType
instanceFunctionSautoMapType getInstanceFunctionSautoMap()
pair< State *, vector< Transition * > > stateTransitionsPairType
timePairType getTimeForTransition(Transition *)
transitionVectorType getTransitionsAtTime(timePairType)
susCFGBlockGPUMacroMapType getSusCFGBlockGPUMacroMap()
instanceFunctionSautoMapType _instanceFunctionSautoMap
map< timePairType, vector< SusCFG * > > commonTimeDPMapType
stateTransitionsMapType _outgoingTransitionsMap
GlobalSuspensionAutomata(Model *, raw_ostream &, ASTContext *)
map< entryFunctionInstanceIdPairType, transitionVectorType > instanceFunctionSautoMapType
bool isNotifyCall(const CFGStmt *)
vector< SusCFG * > arrangeGPUSusCFGBlocks(vector< SusCFG * >)
FindNotify::NotifyCallListType _notifyCalls
pair< float, int > timePairType
pair< string, timePairType > eventNotificationTimePairType
void updateEventNotificationTime(Transition *)
pair< timePairType, vector< SusCFG * > > commonTimeDPPairType
transitionVectorType _globalSauto
visitTransitionMapType _visitTransitionMap
eventNotificationTimeMapType _eventNotificationTimeMap
entryFunctionMacroMapType _entryFunctionGPUMacroMap
commonTimeDPMapType _commonTimeDPMap
transitionVectorType getGlobalSauto()
pair< EntryFunctionContainer *, int > entryFunctionInstanceIdPairType
bool updateTransitionTime(Transition *)
pair< EntryFunctionContainer *, FindGPUMacro::forStmtGPUMacroMapType > entryFunctionMacroPairType
susCFGBlockGPUMacroMapType _susCFGBlockGPUMacroMap
std::map< ModuleInstance *, std::vector< ModuleInstance * > > moduleInstanceMapType
Clang forward declarations.