qat.experimental.dialect.q1.transforms.reg_alloc module
Q1 support for xDSL register allocation.
- class Q1RegisterStack(allocatable_registers=<factory>, next_infinite_indices=<factory>, reserved_registers=<factory>, available_registers=<factory>, allow_infinite=False)
Bases:
RegisterStackRegister stack configured with the Q1 physical register set.
- classmethod allocatable_registers(reserved_registers=None)
Return Q1 physical registers available after excluding reserved registers.
- Return type:
tuple[Q1RegisterType,...]
- classmethod default_allocatable_registers()
The default registers to be made available when instantiating the stack.
- Return type:
tuple[Q1RegisterType,...]
- classmethod from_reserved_registers(reserved_registers=None, allow_infinite=False)
Create a stack with the requested Q1 registers excluded from allocation.
- Return type: