risc::sa Namespace Reference

Namespaces

namespace  ga

Typedefs

typedef std::pair< Port
*, SgBoolValExp * > 
ResetSignal
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)
void collect_read_variables (SgExpression *expr, std::vector< SgNode * > &read_var)
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)
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 ...

typedef std::pair<Port*, SgBoolValExp*> risc::sa::ResetSignal

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 
)
void risc::sa::collect_write_variables ( SgExpression *  expr,
std::vector< SgNode * > &  write_var 
)
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 
)
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 30 Sep 2016 by  doxygen 1.6.1