microprobe.code.wrapper.Wrapper

class Wrapper[source]

Bases: object

Abstract class to represent a language wrapper.

__init__()[source]

Initialization abstract method.

Methods

__init__() Initialization abstract method.
context()
declare_global_var(var)
param var:
end_loop(instr)
param instr:
end_main()
footer()
headers()
infinite() Returns a bool indicating if the loop is infinite.
init_global_var(var, value)
param var:
init_loop_pad()
init_main_pad()
outputname(name)
param name:
post_var()
register_direct_init(dummy_key, dummy_value) Initialize key with the value value
required_global_vars()
reserved_registers(registers, target)
param registers:
 
set_benchmark(bench)
param bench:
set_target(target)
param target:
start_loop(instr, instr_reset[, aligned])
param instr:
start_main()
wrap_ins(instr)
param instr:

Attributes

benchmark
direct_initialization_support Boolean indicating if the wrapper supports direct initialization.
reset
target



outputname(name)[source]
Parameters:name
headers()[source]
declare_global_var(var)[source]
Parameters:var
init_global_var(var, value)[source]
Parameters:
  • var
  • value
required_global_vars()[source]
start_main()[source]
post_var()[source]
start_loop(instr, instr_reset, aligned=True)[source]
Parameters:
  • instr
  • instr_reset
  • aligned – (Default value = True)
wrap_ins(instr)[source]
Parameters:instr
end_loop(instr)[source]
Parameters:instr
end_main()[source]
footer()[source]
infinite()[source]

Returns a bool indicating if the loop is infinite.

reserved_registers(registers, target)[source]
Parameters:
  • registers
  • target
set_benchmark(bench)[source]
Parameters:bench
benchmark
reset
set_target(target)[source]
Parameters:target
target
context()[source]
init_loop_pad()[source]
init_main_pad()[source]
direct_initialization_support

Boolean indicating if the wrapper supports direct initialization.

Direct initialization refers to the capability of initializing values without requiring the execution of instructions. For instance, simulation-based format usually allow the specification of the initial values of the memory and the registers.

register_direct_init(dummy_key, dummy_value)[source]

Initialize key with the value value