Asm
asm
¶
The asm dialect provides utilities for embedding assembly-level abstractions in higher-level functions.
ASM = ir.Dialect('asm', [FromRegOp, ToRegOp], [], [])
module-attribute
¶
FromRegOp
¶
Bases: IRDLOperation, HasFolderInterface
Get the value stored in a given register.
Source code in xdsl/dialects/asm.py
name = 'asm.from_reg'
class-attribute
instance-attribute
¶
register = irdl.operand_def(RegisterType)
class-attribute
instance-attribute
¶
value = irdl.result_def()
class-attribute
instance-attribute
¶
traits = irdl.traits_def(Pure())
class-attribute
instance-attribute
¶
assembly_format = '$register attr-dict `:` type($register) `->` type($value)'
class-attribute
instance-attribute
¶
__init__(register: ir.SSAValue | ir.Operation, result_type: ir.Attribute)
¶
get(register: ir.SSAValue | ir.Operation, result_type: ir.Attribute)
classmethod
¶
Create the operation, and set the result's name hint to register's name hint.
Source code in xdsl/dialects/asm.py
verify_() -> None
¶
Source code in xdsl/dialects/asm.py
ToRegOp
¶
Bases: IRDLOperation, HasFolderInterface
Get the register holding a given value.
Source code in xdsl/dialects/asm.py
name = 'asm.to_reg'
class-attribute
instance-attribute
¶
value = irdl.operand_def()
class-attribute
instance-attribute
¶
register = irdl.result_def(RegisterType)
class-attribute
instance-attribute
¶
traits = irdl.traits_def(Pure())
class-attribute
instance-attribute
¶
assembly_format = '$value attr-dict `:` type($value) `->` type($register)'
class-attribute
instance-attribute
¶
__init__(value: ir.SSAValue | ir.Operation, result_type: RegisterType)
¶
get(value: ir.SSAValue | ir.Operation, result_type: RegisterType)
classmethod
¶
Create the operation, and set the result's name hint to value's name hint.