m2isar.backends.etiss.instruction_utils
Utility classes and functions for instruction generation.
Attributes
Classes
Code string object. Tracks generate C++ code and various metadata for recursive |
|
Track a memory access across recursive code generation. |
|
Track a required function call across recursive code generation. |
|
Container class to encapsulate different ETISS JIT code snippet types. |
|
Track miscellaneous information throughout the code generation process. Also |
Functions
|
Calculate a fitting c datatype width for any arbitrary size. |
Module Contents
- actual_size(size, min_=8, max_=128)[source]
Calculate a fitting c datatype width for any arbitrary size.
- class CodeString(code, static, size, signed, regs_affected=None, line_infos=[])[source]
Code string object. Tracks generate C++ code and various metadata for recursive code generation.
- class MemID[source]
Track a memory access across recursive code generation.
- mem_space: m2isar.metamodel.arch.Memory[source]
- index: CodeString[source]
- class FnID[source]
Track a required function call across recursive code generation.
- args: CodeString[source]
- class CodePartsContainer[source]
Container class to encapsulate different ETISS JIT code snippet types.
- class TransformerContext(constants: dict[str, arch.Constant], memories: dict[str, arch.Memory], memory_aliases: dict[str, arch.Memory], fields: dict[str, arch.BitFieldDescr], attributes: list[arch.InstrAttribute], functions: dict[str, arch.Function], instr_size: int, native_size: int, arch_name: str, static_scalars: bool, intrinsics, generate_coverage: bool, ignore_static=False)[source]
Track miscellaneous information throughout the code generation process. Also provides helper functions for staticness conversion etc.
- raise_fn: m2isar.metamodel.arch.Function = None[source]
- mem_raise_fn: m2isar.metamodel.arch.Function = None[source]