[Mlir-commits] [mlir] 4f4f3f1 - [mlir] NFC - Add runner util functions to only print MemRef metadata.
Nicolas Vasilache
llvmlistbot at llvm.org
Thu Mar 4 04:40:22 PST 2021
Author: Nicolas Vasilache
Date: 2021-03-04T12:35:45Z
New Revision: 4f4f3f1e597b6a14aa8005a6738a82d4246435ab
URL: https://github.com/llvm/llvm-project/commit/4f4f3f1e597b6a14aa8005a6738a82d4246435ab
DIFF: https://github.com/llvm/llvm-project/commit/4f4f3f1e597b6a14aa8005a6738a82d4246435ab.diff
LOG: [mlir] NFC - Add runner util functions to only print MemRef metadata.
These are useful to debug execution, without having to print the whole
content of a memref.
Added:
Modified:
mlir/include/mlir/ExecutionEngine/RunnerUtils.h
mlir/lib/ExecutionEngine/RunnerUtils.cpp
Removed:
################################################################################
diff --git a/mlir/include/mlir/ExecutionEngine/RunnerUtils.h b/mlir/include/mlir/ExecutionEngine/RunnerUtils.h
index 976cad333778..9d612c14c5ab 100644
--- a/mlir/include/mlir/ExecutionEngine/RunnerUtils.h
+++ b/mlir/include/mlir/ExecutionEngine/RunnerUtils.h
@@ -191,6 +191,16 @@ void MemRefDataPrinter<T>::printLast(std::ostream &os, T *base, int64_t dim,
os << "]";
}
+template <typename T, int N> void printMemRefShape(StridedMemRefType<T, N> &M) {
+ std::cout << "Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<T>(M));
+}
+
+template <typename T> void printMemRefShape(UnrankedMemRefType<T> &M) {
+ std::cout << "Unranked Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<T>(M));
+}
+
template <typename T>
void printMemRef(const DynamicMemRefType<T> &M) {
printMemRefMetaData(std::cout, M);
@@ -327,6 +337,17 @@ int64_t verifyMemRef(UnrankedMemRefType<T> &actual,
////////////////////////////////////////////////////////////////////////////////
// Currently exposed C API.
////////////////////////////////////////////////////////////////////////////////
+extern "C" MLIR_RUNNERUTILS_EXPORT void
+_mlir_ciface_print_memref_shape_i8(UnrankedMemRefType<int8_t> *M);
+extern "C" MLIR_RUNNERUTILS_EXPORT void
+_mlir_ciface_print_memref_shape_i32(UnrankedMemRefType<int32_t> *M);
+extern "C" MLIR_RUNNERUTILS_EXPORT void
+_mlir_ciface_print_memref_shape_i64(UnrankedMemRefType<int64_t> *M);
+extern "C" MLIR_RUNNERUTILS_EXPORT void
+_mlir_ciface_print_memref_shape_f32(UnrankedMemRefType<float> *M);
+extern "C" MLIR_RUNNERUTILS_EXPORT void
+_mlir_ciface_print_memref_shape_f64(UnrankedMemRefType<double> *M);
+
extern "C" MLIR_RUNNERUTILS_EXPORT void
_mlir_ciface_print_memref_i8(UnrankedMemRefType<int8_t> *M);
extern "C" MLIR_RUNNERUTILS_EXPORT void
diff --git a/mlir/lib/ExecutionEngine/RunnerUtils.cpp b/mlir/lib/ExecutionEngine/RunnerUtils.cpp
index 44e0c1f42d13..83ead7c575a2 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<int8_t> *M) {
+ std::cout << "Unranked Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<int8_t>(*M));
+ std::cout << "\n";
+}
+
+extern "C" void
+_mlir_ciface_print_memref_shape_i32(UnrankedMemRefType<int32_t> *M) {
+ std::cout << "Unranked Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<int32_t>(*M));
+ std::cout << "\n";
+}
+
+extern "C" void
+_mlir_ciface_print_memref_shape_i64(UnrankedMemRefType<int64_t> *M) {
+ std::cout << "Unranked Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<int64_t>(*M));
+ std::cout << "\n";
+}
+
+extern "C" void
+_mlir_ciface_print_memref_shape_f32(UnrankedMemRefType<float> *M) {
+ std::cout << "Unranked Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<float>(*M));
+ std::cout << "\n";
+}
+
+extern "C" void
+_mlir_ciface_print_memref_shape_f64(UnrankedMemRefType<double> *M) {
+ std::cout << "Unranked Memref ";
+ printMemRefMetaData(std::cout, DynamicMemRefType<double>(*M));
+ std::cout << "\n";
+}
+
extern "C" void _mlir_ciface_print_memref_vector_4x4xf32(
StridedMemRefType<Vector2D<4, 4, float>, 2> *M) {
impl::printMemRef(*M);
More information about the Mlir-commits
mailing list