diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h b/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h --- a/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h +++ b/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h @@ -121,7 +121,8 @@ /// Returns the equivalent of `void*` for opaque arguments to the /// execution engine. -Type getOpaquePointerType(OpBuilder &builder); +Type getOpaquePointerType(MLIRContext *ctx); +Type getOpaquePointerType(Builder &builder); /// Generates an uninitialized temporary buffer of the given size and /// type, but returns it as type `memref` (rather than as type diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp --- a/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp +++ b/mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp @@ -388,8 +388,12 @@ return builder.create(loc, resultType, fn, operands); } -Type mlir::sparse_tensor::getOpaquePointerType(OpBuilder &builder) { - return LLVM::LLVMPointerType::get(builder.getI8Type()); +Type mlir::sparse_tensor::getOpaquePointerType(MLIRContext *ctx) { + return LLVM::LLVMPointerType::get(IntegerType::get(ctx, 8)); +} + +Type mlir::sparse_tensor::getOpaquePointerType(Builder &builder) { + return getOpaquePointerType(builder.getContext()); } Value mlir::sparse_tensor::genAlloca(OpBuilder &builder, Location loc,