1 #ifndef CTHREAD_ANALYZER_H_INCLUDED_
2 #define CTHREAD_ANALYZER_H_INCLUDED_
26 typedef std::pair<CThread*, std::set<SgVariableSymbol*> >
28 typedef std::set<CThreadUninitializedVariables>
36 typedef std::pair<ResetSignal*, std::set<SgVariableSymbol*> >
38 typedef std::set<ResetSignalUninitializedVariables>
42 typedef std::pair<CThread*, ResetSignal*>
44 typedef std::pair<CThreadResetSignalPair, std::vector<SgExpression*> >
46 typedef std::vector<CThreadResetSignalExpressions>
62 std::set<SgFunctionCallExp*>
72 std::vector<SgExpression*> &before_wait,
73 std::vector<SgExpression*> &after_wait);
98 SgFunctionDefinition *root_function,
99 std::vector<SgExpression*> &expressions);
101 std::set<SgFunctionDefinition*>
103 std::vector<SgExpression*> &expressions);
std::vector< CThreadResetSignalExpressions > CThreadResetSignalExpressionsVector
Definition: cthread_analyzer.h:47
std::set< SgFunctionCallExp * > traverse_for_non_nested_func_calls(SgFunctionDefinition *func_def)
This function searchs for all function calls which are done before the first wait call statement...
Definition: cthread_analyzer.cpp:55
std::pair< CThread *, ResetSignal * > CThreadResetSignalPair
Definition: cthread_analyzer.h:43
std::pair< Port *, SgBoolValExp * > ResetSignal
Definition: cthread_analyzer.h:22
ResetSignalUninitializedVariablesSet inter_async_reset_cthread_analysis(Module &module)
Definition: cthread_analyzer.cpp:809
std::pair< ResetSignal *, CThreadVector > ResetSignalSensitiveCThreads
ResetSignal -> cthread, cthread, cthread ...
Definition: cthread_analyzer.h:32
std::vector< CThread * > CThreadVector
Definition: cthread.h:54
std::set< ResetSignalSensitiveCThreads > ResetSignalSensitiveCThreadsSet
Definition: cthread_analyzer.h:33
std::pair< ResetSignal *, std::set< SgVariableSymbol * > > ResetSignalUninitializedVariables
ResetSignal -> var, var, var ...
Definition: cthread_analyzer.h:37
CThreadResetSignalExpressionsVector get_cthread_reset_signal_expressions(Module &module)
Definition: cthread_analyzer.cpp:678
CThreadResetSignalExpressionsVector get_cthread_async_reset_signal_expressions(Module &module)
Definition: cthread_analyzer.cpp:546
std::set< SgFunctionDefinition * > get_called_functions_and_expressions(SgFunctionDefinition *root_function, std::vector< SgExpression * > &expressions)
Definition: cthread_analyzer.cpp:88
void get_recursivly_nested_expressions_in_function(SgFunctionDefinition *root_function, std::vector< SgExpression * > &expressions)
Definition: cthread_analyzer.cpp:145
std::pair< CThreadResetSignalPair, std::vector< SgExpression * > > CThreadResetSignalExpressions
Definition: cthread_analyzer.h:45
This class represents instances.
Definition: module.h:49
ResetSignalUninitializedVariablesSet inter_reset_cthread_analysis(Module &module)
Definition: cthread_analyzer.cpp:1028
CThreadUninitializedVariablesSet most_pessimistic_analysis(risc::Module &module)
Definition: cthread_analyzer.cpp:247
std::set< CThreadUninitializedVariables > CThreadUninitializedVariablesSet
Definition: cthread_analyzer.h:29
std::pair< CThread *, std::set< SgVariableSymbol * > > CThreadUninitializedVariables
CThread -> var, var, var ...
Definition: cthread_analyzer.h:27
CThreadUninitializedVariablesSet inter_thread_analysis(Module &module, CThreadVector *subset_of_cthreads=NULL)
Definition: cthread_analyzer.cpp:387
void member_variable_filter(risc::Module &module, std::vector< SgNode * > variable)
std::set< ResetSignalUninitializedVariables > ResetSignalUninitializedVariablesSet
Definition: cthread_analyzer.h:39
SgFunctionCallExp * find_first_wait_stmt(SgFunctionDefinition *func_def)
This function analyzes a given function and returns the first occurrence of a wait call...
Definition: cthread_analyzer.cpp:16
void collect_non_nested_expressions(SgFunctionDefinition *func_def, std::vector< SgExpression * > &before_wait, std::vector< SgExpression * > &after_wait)
This function collects all non nested expressions before and after the first wait stmt call...
Definition: cthread_analyzer.cpp:173