17 | module Compiler.MLIR.IR.DialectRegistry
21 | ffi : String -> String
22 | ffi = libxla "c/mlir/IR/DialectRegistry.h"
25 | data DialectRegistry = MkDialectRegistry GCAnyPtr
27 | %foreign (ffi "DialectRegistry_new")
28 | prim__mkDialectRegistry : PrimIO AnyPtr
30 | %foreign (ffi "DialectRegistry_delete")
31 | prim__deleteDialectRegistry : AnyPtr -> PrimIO ()
34 | mkDialectRegistry : HasIO io => io DialectRegistry
35 | mkDialectRegistry = do
36 | registry <- primIO prim__mkDialectRegistry
37 | registry <- onCollectAny' registry (primIO . prim__deleteDialectRegistry)
38 | pure (MkDialectRegistry registry)