17 | module Compiler.MLIR.IR.MLIRContext
19 | import Compiler.MLIR.IR.DialectRegistry
22 | ffi : String -> String
23 | ffi = libxla "c/mlir/IR/MLIRContext.h"
26 | data MLIRContext = MkMLIRContext AnyPtr
28 | %foreign (ffi "MLIRContext_new")
29 | prim__mkMLIRContext : PrimIO AnyPtr
32 | mkMLIRContext : HasIO io => io MLIRContext
33 | mkMLIRContext = MkMLIRContext <$> primIO prim__mkMLIRContext
35 | %foreign (ffi "MLIRContext_appendDialectRegistry")
36 | prim__appendDialectRegistry : AnyPtr -> GCAnyPtr -> PrimIO ()
39 | appendDialectRegistry : HasIO io => MLIRContext -> DialectRegistry -> io ()
40 | appendDialectRegistry (MkMLIRContext ctx) (MkDialectRegistry registry) =
41 | primIO $
prim__appendDialectRegistry ctx registry