systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
parselib.transforms.function_transformation_pass.FunctionTransformationPass Class Reference
Inheritance diagram for parselib.transforms.function_transformation_pass.FunctionTransformationPass:
Collaboration diagram for parselib.transforms.function_transformation_pass.FunctionTransformationPass:

Public Member Functions

 __init__ (self)
 
 hsenslist (self, tree)
 
 hsensvar (self, tree)
 
 current_module_function_nodes (self)
 
 current_module_function_nodes (self, val)
 
 modportsiglist (self, tree)
 
 sigdecltype (self, tree)
 
 vardeclinit (self, tree)
 
 portdecltype (self, tree)
 
 hmodule (self, tree)
 
 hthreadswitch (self, tree)
 
 hprocess (self, tree)
 
 hfunctionlocalvars (self, tree)
 
 strip_io_or_default (self, tpe)
 
 prevardecl (self, tree)
 
 current_scope_object (self)
 
 add_func_name_stub_to_current_scope (self, func)
 
 check_blocking (self, var_name)
 
 hmethodcall (self, tree)
 
 hfunctionparams (self, tree)
 
 hvarref (self, tree)
 
 harrayref (self, tree)
 
 hfunction (self, tree)
 
- Public Member Functions inherited from parselib.transforms.top_down.TopDown
 __default__ (self, t)
 

Public Attributes

 current_module_function_nodes
 
list __current_thread = []
 
list __current_process = []
 

Private Member Functions

 __add_func_name_stub_to_current_process (self, func)
 
 __search_current_function (self, func_name)
 
 __get_current_process_stub (self, id)
 
 __extract_func_def (self, tree)
 
 __extract_id_from_func_arg (self, tree)
 
 __change_type_to_funcinput (self, tree)
 
 __get_func_param_stub (self, id)
 
 __extract_func_id (self, tree)
 

Private Attributes

list __current_functions = []
 
 __current_function = None
 
 __current_process = None
 
 __current_thread = None
 
 __func_param_stubs = None
 
bool __in_module_scope = False
 
 __current_module_scope_vars = None
 
 __current_module_sense_list = None
 
 __sense_list_proc_name = None
 
 __current_module = tree
 

Detailed Description

Traverse all usage of function calls, convert function names into stubs (for duplicating functions)
And add prologue and epilogue for function calls

Definition at line 11 of file function_transformation_pass.py.

Constructor & Destructor Documentation

◆ __init__()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__init__ ( self)

Reimplemented from parselib.transforms.top_down.TopDown.

Definition at line 16 of file function_transformation_pass.py.

Member Function Documentation

◆ __add_func_name_stub_to_current_process()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__add_func_name_stub_to_current_process ( self,
func )
private

Definition at line 48 of file function_transformation_pass.py.

◆ __change_type_to_funcinput()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__change_type_to_funcinput ( self,
tree )
private

Definition at line 295 of file function_transformation_pass.py.

◆ __extract_func_def()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__extract_func_def ( self,
tree )
private

Definition at line 189 of file function_transformation_pass.py.

◆ __extract_func_id()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__extract_func_id ( self,
tree )
private

Definition at line 303 of file function_transformation_pass.py.

◆ __extract_id_from_func_arg()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__extract_id_from_func_arg ( self,
tree )
private

Definition at line 206 of file function_transformation_pass.py.

◆ __get_current_process_stub()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__get_current_process_stub ( self,
id )
private

Definition at line 62 of file function_transformation_pass.py.

◆ __get_func_param_stub()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__get_func_param_stub ( self,
id )
private

Definition at line 298 of file function_transformation_pass.py.

◆ __search_current_function()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__search_current_function ( self,
func_name )
private

Definition at line 51 of file function_transformation_pass.py.

◆ add_func_name_stub_to_current_scope()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.add_func_name_stub_to_current_scope ( self,
func )

Definition at line 228 of file function_transformation_pass.py.

◆ check_blocking()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.check_blocking ( self,
var_name )

Definition at line 231 of file function_transformation_pass.py.

◆ current_module_function_nodes() [1/2]

parselib.transforms.function_transformation_pass.FunctionTransformationPass.current_module_function_nodes ( self)

Definition at line 41 of file function_transformation_pass.py.

◆ current_module_function_nodes() [2/2]

parselib.transforms.function_transformation_pass.FunctionTransformationPass.current_module_function_nodes ( self,
val )

Definition at line 45 of file function_transformation_pass.py.

◆ current_scope_object()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.current_scope_object ( self)

Definition at line 218 of file function_transformation_pass.py.

◆ harrayref()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.harrayref ( self,
tree )

Definition at line 320 of file function_transformation_pass.py.

◆ hfunction()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hfunction ( self,
tree )

Definition at line 324 of file function_transformation_pass.py.

◆ hfunctionlocalvars()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hfunctionlocalvars ( self,
tree )

Definition at line 149 of file function_transformation_pass.py.

◆ hfunctionparams()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hfunctionparams ( self,
tree )

Definition at line 291 of file function_transformation_pass.py.

◆ hmethodcall()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hmethodcall ( self,
tree )

Definition at line 246 of file function_transformation_pass.py.

◆ hmodule()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hmodule ( self,
tree )

Definition at line 96 of file function_transformation_pass.py.

◆ hprocess()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hprocess ( self,
tree )

Definition at line 118 of file function_transformation_pass.py.

◆ hsenslist()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hsenslist ( self,
tree )

Definition at line 28 of file function_transformation_pass.py.

◆ hsensvar()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hsensvar ( self,
tree )

Definition at line 36 of file function_transformation_pass.py.

◆ hthreadswitch()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hthreadswitch ( self,
tree )

Definition at line 110 of file function_transformation_pass.py.

◆ hvarref()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.hvarref ( self,
tree )

Definition at line 308 of file function_transformation_pass.py.

◆ modportsiglist()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.modportsiglist ( self,
tree )

Definition at line 69 of file function_transformation_pass.py.

◆ portdecltype()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.portdecltype ( self,
tree )

Definition at line 89 of file function_transformation_pass.py.

◆ prevardecl()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.prevardecl ( self,
tree )

Definition at line 173 of file function_transformation_pass.py.

◆ sigdecltype()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.sigdecltype ( self,
tree )

Definition at line 75 of file function_transformation_pass.py.

◆ strip_io_or_default()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.strip_io_or_default ( self,
tpe )

Definition at line 163 of file function_transformation_pass.py.

◆ vardeclinit()

parselib.transforms.function_transformation_pass.FunctionTransformationPass.vardeclinit ( self,
tree )

Definition at line 82 of file function_transformation_pass.py.

Member Data Documentation

◆ __current_function

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_function = None
private

Definition at line 19 of file function_transformation_pass.py.

◆ __current_functions

list parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_functions = []
private

Definition at line 18 of file function_transformation_pass.py.

◆ __current_module

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_module = tree
private

Definition at line 100 of file function_transformation_pass.py.

◆ __current_module_scope_vars

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_module_scope_vars = None
private

Definition at line 24 of file function_transformation_pass.py.

◆ __current_module_sense_list

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_module_sense_list = None
private

Definition at line 25 of file function_transformation_pass.py.

◆ __current_process [1/2]

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_process = None
private

Definition at line 20 of file function_transformation_pass.py.

◆ __current_process [2/2]

list parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_process = []

Definition at line 119 of file function_transformation_pass.py.

◆ __current_thread [1/2]

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_thread = None
private

Definition at line 21 of file function_transformation_pass.py.

◆ __current_thread [2/2]

list parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_thread = []

Definition at line 112 of file function_transformation_pass.py.

◆ __func_param_stubs

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__func_param_stubs = None
private

Definition at line 22 of file function_transformation_pass.py.

◆ __in_module_scope

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__in_module_scope = False
private

Definition at line 23 of file function_transformation_pass.py.

◆ __sense_list_proc_name

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__sense_list_proc_name = None
private

Definition at line 26 of file function_transformation_pass.py.

◆ current_module_function_nodes

parselib.transforms.function_transformation_pass.FunctionTransformationPass.current_module_function_nodes

Definition at line 52 of file function_transformation_pass.py.


The documentation for this class was generated from the following file: