module MLIR.AST.Dialect.MemRef where
import MLIR.AST
pattern Load :: Type -> Name -> [Name] -> Operation
pattern $bLoad :: Type -> Name -> [Name] -> Operation
$mLoad :: forall r.
Operation -> (Type -> Name -> [Name] -> r) -> (Void# -> r) -> r
Load ty src idx = Operation
{ opName = "memref.load"
, opLocation = UnknownLocation
, opResultTypes = Explicit [ty]
, opOperands = src : idx
, opRegions = []
, opSuccessors = []
, opAttributes = NoAttrs
}
pattern Store :: Name -> Name -> [Name] -> Operation
pattern $bStore :: Name -> Name -> [Name] -> Operation
$mStore :: forall r.
Operation -> (Name -> Name -> [Name] -> r) -> (Void# -> r) -> r
Store src dst idx = Operation
{ opName = "memref.store"
, opLocation = UnknownLocation
, opResultTypes = Explicit []
, opOperands = src : dst : idx
, opRegions = []
, opSuccessors = []
, opAttributes = NoAttrs
}