microprobe.code.wrapper.Wrapper
- class Wrapper[source]
Bases:
ABC
Abstract class to represent a language wrapper.
Methods
__init__
()Initialization abstract method.
context
()declare_global_var
(var)- param var:
end_loop
(instr)- param instr:
end_main
()footer
()get_direct_init
(key, defaultvalue)Get the value for key
headers
()infinite
()Returns a
bool
indicating if the loop is infinite.init_global_var
(var, value)- param var:
outputname
(name)- param name:
post_var
()register_direct_init
(dummy_key, dummy_value)Initialize key with the value value
reserved_registers
(registers, target)- param registers:
set_benchmark
(bench)- param bench:
set_target
(target)- param target:
start_loop
(instr, instr_reset[, aligned])- param instr:
wrap_ins
(instr)- param instr:
Attributes
Boolean indicating if the wrapper supports direct initialization.
- init_global_var(var: Variable, value: int | str | Callable[[], int | str]) str [source]
- Parameters:
var
value
- start_loop(instr: Instruction, instr_reset: Instruction, aligned: bool = True) str [source]
- Parameters:
instr
instr_reset
aligned – (Default value = True)
- wrap_ins(instr: Instruction) str [source]
- Parameters:
instr
- end_loop(instr: Instruction) str [source]
- Parameters:
instr
- reserved_registers(registers: List[Register], target: Target) List[Register] [source]
- Parameters:
registers
target
- property benchmark
- property reset
- property target
- property 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.