File src/plugins/built_in/abstract_objects/stub/ao_loop.luadoc
Declares methods that can be invoked on a loop (instance of the 'loop' class)
Functions
loop:are_paths_computed () | Checks whether paths are already computed for a loop Used to avoid calling loop:free_paths in a function F when called by another one relying on paths after exit from F |
loop:blocks () | Iterates over all blocks |
loop:children () | Iterates over children loops |
loop:free_paths () | Frees paths computed by loop:paths |
loop:get_DDG () | Returns the DDG (Data Dependency Graph) of a loop |
loop:get_DDG_file_path () | Prints the data dependency graph (DDG) of a loop to a DOT file (paths are merged) For each path of the loop, prints the corresponding DDG to a DOT file |
loop:get_RecMII () | Returns the RecMII of a loop RecMII is minimum initiation interval due to inter-iterations data dependencies |
loop:get_asmfile () | Returns the asmfile containing a loop |
loop:get_children () | Returns a table of children loops (included into a loop) |
loop:get_entries () | Returns a table of entry blocks |
loop:get_exits () | Returns a table of exit blocks |
loop:get_first_entry () | Returns the first entry basic block of a loop |
loop:get_first_path () | Returns the first path of a loop |
loop:get_function () | Returns the function containing a loop |
loop:get_groups () | Returns a table of groups |
loop:get_groups_totable () | Returns all groups as a table |
loop:get_id () | Returns the identifier (ID) of a loop |
loop:get_light_instru () | Returns a queue containing information on how to lighten instrumentation for each block of a given loop. |
loop:get_nb_paths () | Returns the number of paths without building them (fast) |
loop:get_nblocks () | Returns the number of basic blocks in a loop (excluding virtual blocks, not exposed in LUA structures) |
loop:get_nentries () | Returns the number of entries (entry basic blocks) in a loop |
loop:get_nexits () | Returns the number of exits (exit basic blocks) in a loop |
loop:get_ninsns () | Returns the number of instructions in a loop |
loop:get_parent () | Returns the parent loop (including a given loop) |
loop:get_project () | Returns the project containing a loop |
loop:get_src_file_path () | Returns path to the source file defining a loop |
loop:get_src_lines () | Returns minimum and maximum source lines defining a loop |
loop:groups () | Iterates over groups of a loop |
loop:has_groups () | Tests wether a loop has groups |
loop:is_innermost () | Tests wether a loop is innermost |
loop:is_outermost () | Tests wether a loop is outermost |
loop:paths () | Iterates over the paths of a loop |
loop:set_function (new_fct) | Changes the function associated to a loop |
loop:tostring () | Print "Loop: |
Functions
- loop:are_paths_computed ()
-
Checks whether paths are already computed for a loop Used to avoid calling loop:free_paths in a function F when called by another one relying on paths after exit from F
Return value:
boolean - loop:blocks ()
-
Iterates over all blocks
Return value:
next block - loop:children ()
-
Iterates over children loops
Return value:
next child loop - loop:free_paths ()
- Frees paths computed by loop:paths
- loop:get_DDG ()
-
Returns the DDG (Data Dependency Graph) of a loop
Return value:
DDG (graph) - loop:get_DDG_file_path ()
-
Prints the data dependency graph (DDG) of a loop to a DOT file (paths are merged) For each path of the loop, prints the corresponding DDG to a DOT file
Return value:
path to the output file - loop:get_RecMII ()
-
Returns the RecMII of a loop RecMII is minimum initiation interval due to inter-iterations data dependencies
Return value:
RecMII (number) - loop:get_asmfile ()
-
Returns the asmfile containing a loop
Return value:
asmfile - loop:get_children ()
-
Returns a table of children loops (included into a loop)
Return value:
loops table - loop:get_entries ()
-
Returns a table of entry blocks
Return value:
blocks table - loop:get_exits ()
-
Returns a table of exit blocks
Return value:
blocks table - loop:get_first_entry ()
-
Returns the first entry basic block of a loop
Return value:
entry block - loop:get_first_path ()
-
Returns the first path of a loop
Return value:
path (table of blocks) - loop:get_function ()
-
Returns the function containing a loop
Return value:
function - loop:get_groups ()
-
Returns a table of groups
Return value:
groups table - loop:get_groups_totable ()
-
Returns all groups as a table
Return value:
a table containing a subtable per group. Each subtable structure is describe in group:totable ()See also:
- loop:get_id ()
-
Returns the identifier (ID) of a loop
Return value:
loop identifier - loop:get_light_instru ()
-
Returns a queue containing information on how to lighten instrumentation for each block of a given loop.
Return value:
queue of outer_light_t structures (one for each block of the loop) - loop:get_nb_paths ()
-
Returns the number of paths without building them (fast)
Return value:
number of paths - loop:get_nblocks ()
-
Returns the number of basic blocks in a loop (excluding virtual blocks, not exposed in LUA structures)
Return value:
number of basic blocks - loop:get_nentries ()
-
Returns the number of entries (entry basic blocks) in a loop
Return value:
number of entries - loop:get_nexits ()
-
Returns the number of exits (exit basic blocks) in a loop
Return value:
number of exits - loop:get_ninsns ()
-
Returns the number of instructions in a loop
Return value:
number of instructions - loop:get_parent ()
-
Returns the parent loop (including a given loop)
Return value:
parent loop - loop:get_project ()
-
Returns the project containing a loop
Return value:
project - loop:get_src_file_path ()
-
Returns path to the source file defining a loop
Return value:
path to source file (string) - loop:get_src_lines ()
-
Returns minimum and maximum source lines defining a loop
Return value:
min, max (ex: 18,24 if loop ranges from lines 18 to 24) - loop:groups ()
-
Iterates over groups of a loop
Return value:
next group - loop:has_groups ()
-
Tests wether a loop has groups
Return value:
boolean - loop:is_innermost ()
-
Tests wether a loop is innermost
Return value:
boolean - loop:is_outermost ()
-
Tests wether a loop is outermost
Return value:
boolean - loop:paths ()
-
Iterates over the paths of a loop
Return value:
next path (as a table of blocks) - loop:set_function (new_fct)
-
Changes the function associated to a loop
Parameters
- new_fct: the new function to associate to the loop
- loop:tostring ()
-
Print "Loop:
" (meta-method)