systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
parselib.transforms.function_transformation_pass.FunctionTransformationPass Class Reference
Inheritance diagram for parselib.transforms.function_transformation_pass.FunctionTransformationPass:
Inheritance graph
[legend]
Collaboration diagram for parselib.transforms.function_transformation_pass.FunctionTransformationPass:
Collaboration graph
[legend]

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
 

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

 __current_functions
 
 __current_function
 
 __current_process
 
 __current_thread
 
 __func_param_stubs
 
 __in_module_scope
 
 __current_module_scope_vars
 
 __current_module_sense_list
 
 __sense_list_proc_name
 
 __current_module
 

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
private

Definition at line 19 of file function_transformation_pass.py.

◆ __current_functions

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
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
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
private

Definition at line 25 of file function_transformation_pass.py.

◆ __current_process

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_process
private

Definition at line 20 of file function_transformation_pass.py.

◆ __current_thread

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__current_thread
private

Definition at line 21 of file function_transformation_pass.py.

◆ __func_param_stubs

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__func_param_stubs
private

Definition at line 22 of file function_transformation_pass.py.

◆ __in_module_scope

parselib.transforms.function_transformation_pass.FunctionTransformationPass.__in_module_scope
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
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 56 of file function_transformation_pass.py.


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