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: " (meta-method)


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)

Valid XHTML 1.0!