#include "rose.h"
#include "../internal_representation/cthread.h"
#include "../internal_representation/module.h"
#include <vector>
#include <set>
#include <utility>
Go to the source code of this file.
Namespaces | |
namespace | risc |
namespace | risc::sa |
Typedefs | |
typedef std::pair< CThread *, std::set< SgVariableSymbol * > > | risc::sa::CThreadUninitializedVariables |
CThread -> var, var, var ... | |
typedef std::set < CThreadUninitializedVariables > | risc::sa::CThreadUninitializedVariablesSet |
typedef std::pair< ResetSignal *, CThreadVector > | risc::sa::ResetSignalSensitiveCThreads |
ResetSignal -> cthread, cthread, cthread ... | |
typedef std::set < ResetSignalSensitiveCThreads > | risc::sa::ResetSignalSensitiveCThreadsSet |
typedef std::pair< ResetSignal *, std::set< SgVariableSymbol * > > | risc::sa::ResetSignalUninitializedVariables |
ResetSignal -> var, var, var ... | |
typedef std::set < ResetSignalUninitializedVariables > | risc::sa::ResetSignalUninitializedVariablesSet |
typedef std::pair< CThread *, ResetSignal * > | risc::sa::CThreadResetSignalPair |
typedef std::pair < CThreadResetSignalPair, std::vector< SgExpression * > > | risc::sa::CThreadResetSignalExpressions |
typedef std::vector < CThreadResetSignalExpressions > | risc::sa::CThreadResetSignalExpressionsVector |
Functions | |
SgFunctionCallExp * | risc::sa::find_first_wait_stmt (SgFunctionDefinition *func_def) |
This function analyzes a given function and returns the first occurrence of a wait call. | |
std::set< SgFunctionCallExp * > | risc::sa::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. The search doesnt respect function calls in loops, if statements, or other nested constructs. | |
void | risc::sa::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. | |
CThreadUninitializedVariablesSet | risc::sa::most_pessimistic_analysis (risc::Module &module) |
CThreadUninitializedVariablesSet | risc::sa::inter_thread_analysis (Module &module, CThreadVector *subset_of_cthreads=NULL) |
ResetSignalUninitializedVariablesSet | risc::sa::inter_reset_cthread_analysis (Module &module) |
ResetSignalUninitializedVariablesSet | risc::sa::inter_async_reset_cthread_analysis (Module &module) |
CThreadResetSignalExpressionsVector | risc::sa::get_cthread_reset_signal_expressions (Module &module) |
CThreadResetSignalExpressionsVector | risc::sa::get_cthread_async_reset_signal_expressions (Module &module) |
void | risc::sa::member_variable_filter (risc::Module &module, std::vector< SgNode * > variable) |
void | risc::sa::get_recursivly_nested_expressions_in_function (SgFunctionDefinition *root_function, std::vector< SgExpression * > &expressions) |
std::set< SgFunctionDefinition * > | risc::sa::get_called_functions_and_expressions (SgFunctionDefinition *root_function, std::vector< SgExpression * > &expressions) |