risc::sa Namespace Reference

Namespaces

namespace  ga

Typedefs

typedef std::pair< CThread
*, std::set< SgVariableSymbol * > > 
CThreadUninitializedVariables
 CThread -> var, var, var ...
typedef std::set
< CThreadUninitializedVariables
CThreadUninitializedVariablesSet
typedef std::pair< ResetSignal
*, CThreadVector
ResetSignalSensitiveCThreads
 ResetSignal -> cthread, cthread, cthread ...
typedef std::set
< ResetSignalSensitiveCThreads
ResetSignalSensitiveCThreadsSet
typedef std::pair< ResetSignal
*, std::set< SgVariableSymbol * > > 
ResetSignalUninitializedVariables
 ResetSignal -> var, var, var ...
typedef std::set
< ResetSignalUninitializedVariables
ResetSignalUninitializedVariablesSet
typedef std::pair< CThread
*, ResetSignal * > 
CThreadResetSignalPair
typedef std::pair
< CThreadResetSignalPair,
std::vector< SgExpression * > > 
CThreadResetSignalExpressions
typedef std::vector
< CThreadResetSignalExpressions
CThreadResetSignalExpressionsVector

Functions

SgFunctionCallExp * 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 * > 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 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 most_pessimistic_analysis (risc::Module &module)
CThreadUninitializedVariablesSet inter_thread_analysis (Module &module, CThreadVector *subset_of_cthreads=NULL)
ResetSignalUninitializedVariablesSet inter_reset_cthread_analysis (Module &module)
ResetSignalUninitializedVariablesSet inter_async_reset_cthread_analysis (Module &module)
CThreadResetSignalExpressionsVector get_cthread_reset_signal_expressions (Module &module)
CThreadResetSignalExpressionsVector get_cthread_async_reset_signal_expressions (Module &module)
void member_variable_filter (risc::Module &module, std::vector< SgNode * > variable)
void get_recursivly_nested_expressions_in_function (SgFunctionDefinition *root_function, std::vector< SgExpression * > &expressions)
std::set< SgFunctionDefinition * > get_called_functions_and_expressions (SgFunctionDefinition *root_function, std::vector< SgExpression * > &expressions)
void collect_write_variables (SgExpression *expr, std::vector< SgNode * > &write_var)
 This function collects all written variables in the given expression and adds them to the given vector.
void collect_read_variables (SgExpression *expr, std::vector< SgNode * > &read_var)
 This function collects all read variables in the given expression and adds them to the given vector.
void read_write_analysis (std::vector< SgExpression * > expressions, std::set< SgVariableSymbol * > &read_only_var, std::set< SgVariableSymbol * > &write_only_var, std::vector< SgNode * > &read_write)
 This function collects all read only, write only, and read/write variables in the given expression vector and adds them to the corresponging set/vector.
bool is_member_variable_symbol (SgNode *given_variable, risc::VariableVector &member_variables)
std::vector< SgNode * >::iterator delete_if_is_not_member_variable (std::vector< SgNode * > &given_variables, VariableVector &member_variables)
std::set< SgVariableSymbol * >
::iterator 
delete_if_is_not_member_symbol (std::set< SgVariableSymbol * > &given_variables, VariableVector &member_variables)

Typedef Documentation

typedef std::pair<CThreadResetSignalPair, std::vector<SgExpression*> > risc::sa::CThreadResetSignalExpressions
typedef std::pair<CThread*, std::set<SgVariableSymbol*> > risc::sa::CThreadUninitializedVariables

CThread -> var, var, var ...

ResetSignal -> cthread, cthread, cthread ...

typedef std::pair<ResetSignal*, std::set<SgVariableSymbol*> > risc::sa::ResetSignalUninitializedVariables

ResetSignal -> var, var, var ...


Function Documentation

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.

void risc::sa::collect_read_variables ( SgExpression *  expr,
std::vector< SgNode * > &  read_var 
)

This function collects all read variables in the given expression and adds them to the given vector.

collect_read_variables

void risc::sa::collect_write_variables ( SgExpression *  expr,
std::vector< SgNode * > &  write_var 
)

This function collects all written variables in the given expression and adds them to the given vector.

collect_write_variables

std::set< SgVariableSymbol * >::iterator risc::sa::delete_if_is_not_member_symbol ( std::set< SgVariableSymbol * > &  given_variables,
VariableVector &  member_variables 
)
std::vector< SgNode * >::iterator risc::sa::delete_if_is_not_member_variable ( std::vector< SgNode * > &  given_variables,
VariableVector &  member_variables 
)
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< SgFunctionDefinition * > risc::sa::get_called_functions_and_expressions ( SgFunctionDefinition *  root_function,
std::vector< SgExpression * > &  expressions 
)
risc::sa::CThreadResetSignalExpressionsVector risc::sa::get_cthread_async_reset_signal_expressions ( Module &  module  ) 
risc::sa::CThreadResetSignalExpressionsVector risc::sa::get_cthread_reset_signal_expressions ( Module &  module  ) 
void risc::sa::get_recursivly_nested_expressions_in_function ( SgFunctionDefinition *  root_function,
std::vector< SgExpression * > &  expressions 
)
risc::sa::ResetSignalUninitializedVariablesSet risc::sa::inter_async_reset_cthread_analysis ( Module &  module  ) 
risc::sa::ResetSignalUninitializedVariablesSet risc::sa::inter_reset_cthread_analysis ( Module &  module  ) 
risc::sa::CThreadUninitializedVariablesSet risc::sa::inter_thread_analysis ( Module &  module,
CThreadVector *  subset_of_cthreads = NULL 
)
bool risc::sa::is_member_variable_symbol ( SgNode *  given_variable,
risc::VariableVector member_variables 
)
void risc::sa::member_variable_filter ( risc::Module module,
std::vector< SgNode * >  variable 
)
risc::sa::CThreadUninitializedVariablesSet risc::sa::most_pessimistic_analysis ( risc::Module module  ) 
void risc::sa::read_write_analysis ( std::vector< SgExpression * >  expressions,
std::set< SgVariableSymbol * > &  read_only_var,
std::set< SgVariableSymbol * > &  write_only_var,
std::vector< SgNode * > &  read_write 
)

This function collects all read only, write only, and read/write variables in the given expression vector and adds them to the corresponging set/vector.

read_write_analysis

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.

Returns:
A set of function calls
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 29 Oct 2015 by  doxygen 1.6.1