[PATCH] D75409: [mlir] NFC - Move Vector structure from RunnerUtils.h to CRunnerUtils.h
Nicolas Vasilache via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 06:53:06 PST 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rGc224b4dcf424: [mlir] NFC - Move Vector structure from RunnerUtils.h to CRunnerUtils.h (authored by nicolasvasilache).
Changed prior to commit:
https://reviews.llvm.org/D75409?vs=247452&id=247628#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75409/new/
https://reviews.llvm.org/D75409
Files:
mlir/include/mlir/ExecutionEngine/CRunnerUtils.h
mlir/include/mlir/ExecutionEngine/RunnerUtils.h
Index: mlir/include/mlir/ExecutionEngine/RunnerUtils.h
===================================================================
--- mlir/include/mlir/ExecutionEngine/RunnerUtils.h
+++ mlir/include/mlir/ExecutionEngine/RunnerUtils.h
@@ -60,18 +60,6 @@
<< "descriptor@ = " << reinterpret_cast<void *>(V.descriptor) << "\n";
}
-template <typename T, int Dim, int... Dims> struct Vector {
- Vector<T, Dims...> vector[Dim];
-};
-template <typename T, int Dim> struct Vector<T, Dim> { T vector[Dim]; };
-
-template <int D1, typename T> using Vector1D = Vector<T, D1>;
-template <int D1, int D2, typename T> using Vector2D = Vector<T, D1, D2>;
-template <int D1, int D2, int D3, typename T>
-using Vector3D = Vector<T, D1, D2, D3>;
-template <int D1, int D2, int D3, int D4, typename T>
-using Vector4D = Vector<T, D1, D2, D3, D4>;
-
////////////////////////////////////////////////////////////////////////////////
// Templated instantiation follows.
////////////////////////////////////////////////////////////////////////////////
Index: mlir/include/mlir/ExecutionEngine/CRunnerUtils.h
===================================================================
--- mlir/include/mlir/ExecutionEngine/CRunnerUtils.h
+++ mlir/include/mlir/ExecutionEngine/CRunnerUtils.h
@@ -36,6 +36,31 @@
*(res + i - 1) = arr[i];
}
+//===----------------------------------------------------------------------===//
+// Codegen-compatible structures for Vector type.
+//===----------------------------------------------------------------------===//
+template <typename T, int Dim, int... Dims>
+struct Vector {
+ Vector<T, Dims...> vector[Dim];
+};
+
+template <typename T, int Dim>
+struct Vector<T, Dim> {
+ T vector[Dim];
+};
+
+template <int D1, typename T>
+using Vector1D = Vector<T, D1>;
+template <int D1, int D2, typename T>
+using Vector2D = Vector<T, D1, D2>;
+template <int D1, int D2, int D3, typename T>
+using Vector3D = Vector<T, D1, D2, D3>;
+template <int D1, int D2, int D3, int D4, typename T>
+using Vector4D = Vector<T, D1, D2, D3, D4>;
+
+//===----------------------------------------------------------------------===//
+// Codegen-compatible structures for StridedMemRef type.
+//===----------------------------------------------------------------------===//
/// StridedMemRef descriptor type with static rank.
template <typename T, int N> struct StridedMemRefType {
T *basePtr;
@@ -72,13 +97,18 @@
int64_t offset;
};
+//===----------------------------------------------------------------------===//
+// Codegen-compatible structure for UnrankedMemRef type.
+//===----------------------------------------------------------------------===//
// Unranked MemRef
template <typename T> struct UnrankedMemRefType {
int64_t rank;
void *descriptor;
};
-// Small runtime support "lib" for vector.print lowering.
+//===----------------------------------------------------------------------===//
+// Small runtime support "lib" for vector.print lowering during codegen.
+//===----------------------------------------------------------------------===//
extern "C" MLIR_CRUNNERUTILS_EXPORT void print_f32(float f);
extern "C" MLIR_CRUNNERUTILS_EXPORT void print_f64(double d);
extern "C" MLIR_CRUNNERUTILS_EXPORT void print_open();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75409.247628.patch
Type: text/x-patch
Size: 3253 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200302/aa475d50/attachment.bin>
More information about the llvm-commits
mailing list