| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
MLIR.AST.Builder
Documentation
newtype NameSupply Source #
Constructors
| NameSupply | |
newtype NameSupplyT m a Source #
Constructors
| NameSupplyT (StateT NameSupply m a) |
Instances
class Monad m => MonadNameSupply m where Source #
Instances
| Monad m => MonadNameSupply (NameSupplyT m) Source # | |
Defined in MLIR.AST.Builder Methods freshName :: NameSupplyT m Name Source # | |
| MonadNameSupply m => MonadNameSupply (ReaderT r m) Source # | |
evalNameSupplyT :: Monad m => NameSupplyT m a -> m a Source #
freshValue :: MonadNameSupply m => Type -> m Value Source #
freshBlockArg :: MonadNameSupply m => Type -> m Value Source #
data BlockBindings Source #
Constructors
| BlockBindings | |
Fields | |
Instances
| Semigroup BlockBindings Source # | |
Defined in MLIR.AST.Builder Methods (<>) :: BlockBindings -> BlockBindings -> BlockBindings # sconcat :: NonEmpty BlockBindings -> BlockBindings # stimes :: Integral b => b -> BlockBindings -> BlockBindings # | |
| Monoid BlockBindings Source # | |
Defined in MLIR.AST.Builder Methods mempty :: BlockBindings # mappend :: BlockBindings -> BlockBindings -> BlockBindings # mconcat :: [BlockBindings] -> BlockBindings # | |
newtype BlockBuilderT m a Source #
Constructors
| BlockBuilderT (StateT BlockBindings m a) |
Instances
class Monad m => MonadBlockDecl m where Source #
Instances
| Monad m => MonadBlockDecl (BlockBuilderT m) Source # | |
Defined in MLIR.AST.Builder Methods emitOp_ :: Operation -> BlockBuilderT m () Source # | |
class MonadBlockDecl m => MonadBlockBuilder m where Source #
Methods
emitOp :: Operation -> m [Value] Source #
blockArgument :: Type -> m Value Source #
setDefaultLocation :: Location -> m () Source #
Instances
| MonadNameSupply m => MonadBlockBuilder (BlockBuilderT m) Source # | |
Defined in MLIR.AST.Builder Methods emitOp :: Operation -> BlockBuilderT m [Value] Source # blockArgument :: Type -> BlockBuilderT m Value Source # setDefaultLocation :: Location -> BlockBuilderT m () Source # | |
data EndOfBlock Source #
Constructors
| EndOfBlock |
terminateBlock :: Monad m => m EndOfBlock Source #
noTerminator :: Monad m => m EndOfBlock Source #
runBlockBuilder :: Monad m => BlockBuilderT m a -> m (a, ([Value], [Binding])) Source #
data RegionBuilderState Source #
Constructors
| RegionBuilderState | |
Fields
| |
newtype RegionBuilderT m a Source #
Constructors
| RegionBuilderT (StateT RegionBuilderState m a) |
Instances
class Monad m => MonadRegionBuilder m where Source #
Methods
appendBlock :: BlockBuilderT m EndOfBlock -> m BlockName Source #
endOfRegion :: Monad m => m () Source #
buildRegion :: Monad m => RegionBuilderT m () -> m Region Source #
buildBlock :: Monad m => BlockBuilderT m EndOfBlock -> RegionBuilderT m BlockName Source #
soleBlock :: Monad m => BlockBuilderT m EndOfBlock -> m Block Source #
buildModule :: Monad m => BlockBuilderT m () -> m Operation Source #
declareFunction :: MonadBlockDecl m => Name -> Type -> m () Source #
buildFunction :: MonadBlockDecl m => Name -> [Type] -> NamedAttributes -> RegionBuilderT (NameSupplyT m) () -> m () Source #
buildSimpleFunction :: MonadBlockDecl m => Name -> [Type] -> NamedAttributes -> BlockBuilderT (NameSupplyT m) EndOfBlock -> m () Source #
unsnocList :: SnocList a -> [a] Source #