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
Model::moduleInstanceMapType _moduleInstanceMap
transitionVectorType getIncomingTransitions(State *)
pair< EntryFunctionContainer *, int > entryFunctionInstanceIdPairType
map< EntryFunctionContainer *, FindGPUMacro::forStmtGPUMacroMapType > entryFunctionMacroMapType
stateTransitionsMapType _incomingTransitionsMap
float maxTime(vector< SusCFG * >, unsigned int)
void annotateTransitionsDPSeg(Transition *, int)
pair< entryFunctionInstanceIdPairType, transitionVectorType > instanceFunctionSautoPairType
vector< SusCFG * > merge_sort(vector< SusCFG * >, vector< SusCFG * >)
pair< SusCFG *, GPUMacro * > susCFGBlockGPUMacroPairType
pair< timePairType, vector< SusCFG * > > commonTimeDPPairType
entryFunctionMacroMapType getEntryFunctionMacroMap()
transitionVectorType getOutgoingTransitions(State *)
transitionTimeMapType getTransitionTimeMap()
map< entryFunctionInstanceIdPairType, transitionVectorType > instanceFunctionSautoMapType
map< Transition *, timePairType > transitionTimeMapType
bool GPUMap(float, vector< SusCFG * >, float &)
~GlobalSuspensionAutomata()
string getArgumentName(Expr *)
map< timePairType, vector< SusCFG * > > commonTimeDPMapType
transitionTimeMapType _transitionTimeMap
string getNotifyEventName(const CFGStmt *)
map< SusCFG *, GPUMacro * > susCFGBlockGPUMacroMapType
vector< Transition * > transitionVectorType
map< State *, vector< Transition * > > stateTransitionsMapType
pair< string, timePairType > eventNotificationTimePairType
instanceFunctionSautoMapType getInstanceFunctionSautoMap()
timePairType getTimeForTransition(Transition *)
transitionVectorType getTransitionsAtTime(timePairType)
susCFGBlockGPUMacroMapType getSusCFGBlockGPUMacroMap()
instanceFunctionSautoMapType _instanceFunctionSautoMap
map< string, timePairType > eventNotificationTimeMapType
pair< Transition *, bool > visitTransitionPairType
pair< State *, vector< Transition * > > stateTransitionsPairType
stateTransitionsMapType _outgoingTransitionsMap
GlobalSuspensionAutomata(Model *, raw_ostream &, ASTContext *)
pair< EntryFunctionContainer *, FindGPUMacro::forStmtGPUMacroMapType > entryFunctionMacroPairType
bool isNotifyCall(const CFGStmt *)
vector< SusCFG * > arrangeGPUSusCFGBlocks(vector< SusCFG * >)
FindNotify::NotifyCallListType _notifyCalls
map< Transition *, bool > visitTransitionMapType
pair< float, int > timePairType
void updateEventNotificationTime(Transition *)
transitionVectorType _globalSauto
visitTransitionMapType _visitTransitionMap
eventNotificationTimeMapType _eventNotificationTimeMap
entryFunctionMacroMapType _entryFunctionGPUMacroMap
commonTimeDPMapType _commonTimeDPMap
transitionVectorType getGlobalSauto()
bool updateTransitionTime(Transition *)
susCFGBlockGPUMacroMapType _susCFGBlockGPUMacroMap
pair< Transition *, timePairType > transitionTimePairType
map< EntryFunctionContainer *, int > entryFunctionInstanceIdMapType
std::map< ModuleInstance *, std::vector< ModuleInstance * > > moduleInstanceMapType
Clang forward declarations.