Skip to content

Registers

registers

ARM_INDEX_BY_NAME = {f'x{i}': i for i in (range(0, 31))} module-attribute

UNALLOCATED_INT = IntRegisterType.unallocated() module-attribute

X0 = IntRegisterType.from_name('x0') module-attribute

X1 = IntRegisterType.from_name('x1') module-attribute

X2 = IntRegisterType.from_name('x2') module-attribute

X3 = IntRegisterType.from_name('x3') module-attribute

X4 = IntRegisterType.from_name('x4') module-attribute

X5 = IntRegisterType.from_name('x5') module-attribute

X6 = IntRegisterType.from_name('x6') module-attribute

X7 = IntRegisterType.from_name('x7') module-attribute

X8 = IntRegisterType.from_name('x8') module-attribute

X9 = IntRegisterType.from_name('x9') module-attribute

X10 = IntRegisterType.from_name('x10') module-attribute

X11 = IntRegisterType.from_name('x11') module-attribute

X12 = IntRegisterType.from_name('x12') module-attribute

X13 = IntRegisterType.from_name('x13') module-attribute

X14 = IntRegisterType.from_name('x14') module-attribute

X15 = IntRegisterType.from_name('x15') module-attribute

X16 = IntRegisterType.from_name('x16') module-attribute

X17 = IntRegisterType.from_name('x17') module-attribute

X18 = IntRegisterType.from_name('x18') module-attribute

X19 = IntRegisterType.from_name('x19') module-attribute

X20 = IntRegisterType.from_name('x20') module-attribute

X21 = IntRegisterType.from_name('x21') module-attribute

X22 = IntRegisterType.from_name('x22') module-attribute

X23 = IntRegisterType.from_name('x23') module-attribute

X24 = IntRegisterType.from_name('x24') module-attribute

X25 = IntRegisterType.from_name('x25') module-attribute

X26 = IntRegisterType.from_name('x26') module-attribute

X27 = IntRegisterType.from_name('x27') module-attribute

X28 = IntRegisterType.from_name('x28') module-attribute

X29 = IntRegisterType.from_name('x29') module-attribute

X30 = IntRegisterType.from_name('x30') module-attribute

ARMRegisterType dataclass

Bases: RegisterType, ABC

The abstract class for all ARM register types.

Source code in xdsl/dialects/arm/registers.py
 9
10
11
12
class ARMRegisterType(RegisterType, abc.ABC):
    """
    The abstract class for all ARM register types.
    """

IntRegisterType dataclass

Bases: ARMRegisterType

A scalar ARM register type representing general-purpose integer registers.

Source code in xdsl/dialects/arm/registers.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@irdl_attr_definition
class IntRegisterType(ARMRegisterType):
    """
    A scalar ARM register type representing general-purpose integer registers.
    """

    name = "arm.reg"

    @classmethod
    def index_by_name(cls) -> dict[str, int]:
        return ARM_INDEX_BY_NAME

    @classmethod
    def infinite_register_prefix(cls):
        return "inf_"

name = 'arm.reg' class-attribute instance-attribute

index_by_name() -> dict[str, int] classmethod

Source code in xdsl/dialects/arm/registers.py
26
27
28
@classmethod
def index_by_name(cls) -> dict[str, int]:
    return ARM_INDEX_BY_NAME

infinite_register_prefix() classmethod

Source code in xdsl/dialects/arm/registers.py
30
31
32
@classmethod
def infinite_register_prefix(cls):
    return "inf_"