17 | module Compiler.MLIR.IR.Value
21 | ffi : String -> String
22 | ffi = libxla "c/mlir/IR/Value.h"
25 | data Value = MkValue GCAnyPtr (AnyPtr -> Bits64 -> GCAnyPtr -> PrimIO ())
28 | %foreign (ffi "sizeof_Value")
29 | sizeofValue : Bits64
32 | data BlockArgument = MkBlockArgument GCAnyPtr
35 | %foreign (ffi "BlockArgument_delete")
36 | prim__deleteBlockArgument : AnyPtr -> PrimIO ()
38 | %foreign (ffi "set_array_BlockArgument")
39 | prim__setArrayBlockArgument : AnyPtr -> Bits64 -> GCAnyPtr -> PrimIO ()
42 | Cast BlockArgument Value where
43 | cast (MkBlockArgument ptr) = MkValue ptr prim__setArrayBlockArgument
46 | data OpResult = MkOpResult GCAnyPtr
49 | %foreign (ffi "OpResult_delete")
50 | prim__deleteOpResult : AnyPtr -> PrimIO ()
52 | %foreign (ffi "set_array_OpResult")
53 | prim__setArrayOpResult : AnyPtr -> Bits64 -> GCAnyPtr -> PrimIO ()
56 | Cast OpResult Value where
57 | cast (MkOpResult ptr) = MkValue ptr prim__setArrayOpResult