Module group

Declares methods that can be invoked on a group (instance of the 'group' class)

Functions

group:get_asmfile () Returns the asmfile containing a group
group:get_function () Returns the function containing a group
group:get_head () Returns the group head (Number of bytes loaded by the group from an iteration to another)
group:get_increment () Returns the group increment
group:get_insn_n (n, user) Returns the instruction corresponding to the nth element
group:get_loop () Returns the loop containing a group
group:get_offset_n (n, user) Returns the offset corresponding to the nth element
group:get_pattern (user) Returns the pattern of a group
group:get_pattern_n (n, user) Returns the pattern of the nth element
group:get_project () Returns the project containing a group
group:get_size (user) Returns the size of a group
group:get_span () Returns the group span (Maximum distance between two accessed bytes into a group)
group:instructions (user) Iterates over instructions of a group
group:print (user) Print a group (wraps group_print)
group:print_in_table () Creates a table representing a group
group:tostring () Print "Group: @
" (meta-method)
group:totable () Returns a group as a table
The return table has fields:
  • size: Number of instructions in the group
  • pattern: A string composed of 'L' (for loads) and 'S' (for stores)
  • loop: The loop the group belongs to
  • insns: A table with fields:
    • insn: Number of instructions in the group
    • memory_position:position of the memory operand
    • access: "LOAD" or "STORE"
Following fields are computed using group extended analysis
  • span: maximum distance between two bytes accessed by instructions belonging to the same group
  • head: set of fresh bytes accessed when moving from one iteration to the next one
  • increment_status: Status of increment computation
  • increment: Increment of the group accross iterations
  • memory_status: Status of memory behavior computation
  • number_accessed_bytes: Number of loaded bytes
  • no_overlap_bytes: Number of bytes loaded once per iteration
  • overlap_bytes: Number of bytes loaded more than once per iteration


Functions

group:get_asmfile ()
Returns the asmfile containing a group

Return value:

a loop
group:get_function ()
Returns the function containing a group

Return value:

a loop
group:get_head ()
Returns the group head (Number of bytes loaded by the group from an iteration to another)

Return value:

an integer
group:get_increment ()
Returns the group increment

Return value:

an integer
group:get_insn_n (n, user)
Returns the instruction corresponding to the nth element

Parameters

  • n: rank
  • user: (integer), allow filtering

Return value:

instruction
group:get_loop ()
Returns the loop containing a group

Return value:

a loop
group:get_offset_n (n, user)
Returns the offset corresponding to the nth element

Parameters

  • n: rank
  • user: (integer), allow filtering

Return value:

offset (integer)
group:get_pattern (user)
Returns the pattern of a group

Parameters

  • user: (integer), allow filtering

Return value:

pattern (string)
group:get_pattern_n (n, user)
Returns the pattern of the nth element

Parameters

  • n: rank
  • user: (integer), allow filtering

Return value:

pattern (integer)
group:get_project ()
Returns the project containing a group

Return value:

a loop
group:get_size (user)
Returns the size of a group

Parameters

  • user: (integer), allow filtering

Return value:

size (integer)
group:get_span ()
Returns the group span (Maximum distance between two accessed bytes into a group)

Return value:

an integer
group:instructions (user)
Iterates over instructions of a group

Parameters

  • user: (integer), allow filtering

Return value:

next instruction (skipping filtered instructions)
group:print (user)
Print a group (wraps group_print)

Parameters

  • user: (integer), allow filtering
group:print_in_table ()
Creates a table representing a group

Return value:

a table representing the group
group:tostring ()
Print "Group: @
" (meta-method)
group:totable ()
Returns a group as a table
The return table has fields:
  • size: Number of instructions in the group
  • pattern: A string composed of 'L' (for loads) and 'S' (for stores)
  • loop: The loop the group belongs to
  • insns: A table with fields:
    • insn: Number of instructions in the group
    • memory_position:position of the memory operand
    • access: "LOAD" or "STORE"
Following fields are computed using group extended analysis
  • span: maximum distance between two bytes accessed by instructions belonging to the same group
  • head: set of fresh bytes accessed when moving from one iteration to the next one
  • increment_status: Status of increment computation
  • increment: Increment of the group accross iterations
  • memory_status: Status of memory behavior computation
  • number_accessed_bytes: Number of loaded bytes
  • no_overlap_bytes: Number of bytes loaded once per iteration
  • overlap_bytes: Number of bytes loaded more than once per iteration

Return value:

a table

Valid XHTML 1.0!