17 | module Compiler.Xla.HLO.Translate.HloToMhlo.HloUtils
20 | import Compiler.MLIR.IR.Builders
21 | import Compiler.MLIR.IR.BuiltinAttributes
22 | import Compiler.Xla.Literal
24 | ffi : String -> String
25 | ffi = libxla "c/xla/hlo/translate/hlo_to_mhlo/hlo_utils.h"
27 | %foreign (ffi "CreateDenseElementsAttrFromLiteral")
28 | prim__createDenseElementsAttrFromLiteral : GCAnyPtr -> GCAnyPtr -> PrimIO AnyPtr
31 | createDenseElementsAttrFromLiteral : HasIO io => Literal -> OpBuilder -> io DenseElementsAttr
32 | createDenseElementsAttrFromLiteral (MkLiteral lit) (MkOpBuilder builder) = do
33 | attr <- primIO $
prim__createDenseElementsAttrFromLiteral lit builder
34 | attr <- onCollectAny' attr (primIO . prim__deleteDenseElementsAttr)
35 | pure (MkDenseElementsAttr attr)