diff --git a/mlir/include/mlir/ExecutionEngine/RunnerUtils.h b/mlir/include/mlir/ExecutionEngine/RunnerUtils.h index 976cad333778f3..9d612c14c5abd0 100644 --- a/mlir/include/mlir/ExecutionEngine/RunnerUtils.h +++ b/mlir/include/mlir/ExecutionEngine/RunnerUtils.h @@ -191,6 +191,16 @@ void MemRefDataPrinter::printLast(std::ostream &os, T *base, int64_t dim, os << "]"; } +template void printMemRefShape(StridedMemRefType &M) { + std::cout << "Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(M)); +} + +template void printMemRefShape(UnrankedMemRefType &M) { + std::cout << "Unranked Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(M)); +} + template void printMemRef(const DynamicMemRefType &M) { printMemRefMetaData(std::cout, M); @@ -327,6 +337,17 @@ int64_t verifyMemRef(UnrankedMemRefType &actual, //////////////////////////////////////////////////////////////////////////////// // Currently exposed C API. //////////////////////////////////////////////////////////////////////////////// +extern "C" MLIR_RUNNERUTILS_EXPORT void +_mlir_ciface_print_memref_shape_i8(UnrankedMemRefType *M); +extern "C" MLIR_RUNNERUTILS_EXPORT void +_mlir_ciface_print_memref_shape_i32(UnrankedMemRefType *M); +extern "C" MLIR_RUNNERUTILS_EXPORT void +_mlir_ciface_print_memref_shape_i64(UnrankedMemRefType *M); +extern "C" MLIR_RUNNERUTILS_EXPORT void +_mlir_ciface_print_memref_shape_f32(UnrankedMemRefType *M); +extern "C" MLIR_RUNNERUTILS_EXPORT void +_mlir_ciface_print_memref_shape_f64(UnrankedMemRefType *M); + extern "C" MLIR_RUNNERUTILS_EXPORT void _mlir_ciface_print_memref_i8(UnrankedMemRefType *M); extern "C" MLIR_RUNNERUTILS_EXPORT void diff --git a/mlir/lib/ExecutionEngine/RunnerUtils.cpp b/mlir/lib/ExecutionEngine/RunnerUtils.cpp index 44e0c1f42d137a..83ead7c575a281 100644 --- a/mlir/lib/ExecutionEngine/RunnerUtils.cpp +++ b/mlir/lib/ExecutionEngine/RunnerUtils.cpp @@ -15,6 +15,41 @@ #include "mlir/ExecutionEngine/RunnerUtils.h" +extern "C" void +_mlir_ciface_print_memref_shape_i8(UnrankedMemRefType *M) { + std::cout << "Unranked Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(*M)); + std::cout << "\n"; +} + +extern "C" void +_mlir_ciface_print_memref_shape_i32(UnrankedMemRefType *M) { + std::cout << "Unranked Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(*M)); + std::cout << "\n"; +} + +extern "C" void +_mlir_ciface_print_memref_shape_i64(UnrankedMemRefType *M) { + std::cout << "Unranked Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(*M)); + std::cout << "\n"; +} + +extern "C" void +_mlir_ciface_print_memref_shape_f32(UnrankedMemRefType *M) { + std::cout << "Unranked Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(*M)); + std::cout << "\n"; +} + +extern "C" void +_mlir_ciface_print_memref_shape_f64(UnrankedMemRefType *M) { + std::cout << "Unranked Memref "; + printMemRefMetaData(std::cout, DynamicMemRefType(*M)); + std::cout << "\n"; +} + extern "C" void _mlir_ciface_print_memref_vector_4x4xf32( StridedMemRefType, 2> *M) { impl::printMemRef(*M);