@@ -50,11 +50,9 @@ constexpr unsigned nextPowerOf2(int n) {
5050 return (n <= 1 ) ? 1 : (isPowerOf2 (n) ? n : (2 * nextPowerOf2 ((n + 1 ) / 2 )));
5151}
5252
53- template <typename T, int Dim, bool IsPowerOf2>
54- struct Vector1D ;
53+ template <typename T, int Dim, bool IsPowerOf2> struct Vector1D ;
5554
56- template <typename T, int Dim>
57- struct Vector1D <T, Dim, /* IsPowerOf2=*/ true > {
55+ template <typename T, int Dim> struct Vector1D <T, Dim, /* IsPowerOf2=*/ true > {
5856 Vector1D () {
5957 static_assert (detail::nextPowerOf2 (sizeof (T[Dim])) == sizeof (T[Dim]),
6058 " size error" );
@@ -68,8 +66,7 @@ struct Vector1D<T, Dim, /*IsPowerOf2=*/true> {
6866
6967// 1-D vector, padded to the next power of 2 allocation.
7068// Specialization occurs to avoid zero size arrays (which fail in -Werror).
71- template <typename T, int Dim>
72- struct Vector1D <T, Dim, /* IsPowerOf2=*/ false > {
69+ template <typename T, int Dim> struct Vector1D <T, Dim, /* IsPowerOf2=*/ false > {
7370 Vector1D () {
7471 static_assert (nextPowerOf2 (sizeof (T[Dim])) > sizeof (T[Dim]), " size error" );
7572 static_assert (nextPowerOf2 (sizeof (T[Dim])) < 2 * sizeof (T[Dim]),
@@ -86,8 +83,7 @@ struct Vector1D<T, Dim, /*IsPowerOf2=*/false> {
8683} // namespace mlir
8784
8885// N-D vectors recurse down to 1-D.
89- template <typename T, int Dim, int ... Dims>
90- struct Vector {
86+ template <typename T, int Dim, int ... Dims> struct Vector {
9187 inline Vector<T, Dims...> &operator [](unsigned i) { return vector[i]; }
9288 inline const Vector<T, Dims...> &operator [](unsigned i) const {
9389 return vector[i];
@@ -105,30 +101,25 @@ struct Vector<T, Dim>
105101 mlir::detail::isPowerOf2 (sizeof (T[Dim]))> {
106102};
107103
108- template <int D1, typename T>
109- using Vector1D = Vector<T, D1>;
110- template <int D1, int D2, typename T>
111- using Vector2D = Vector<T, D1, D2>;
104+ template <int D1, typename T> using Vector1D = Vector<T, D1>;
105+ template <int D1, int D2, typename T> using Vector2D = Vector<T, D1, D2>;
112106template <int D1, int D2, int D3, typename T>
113107using Vector3D = Vector<T, D1, D2, D3>;
114108template <int D1, int D2, int D3, int D4, typename T>
115109using Vector4D = Vector<T, D1, D2, D3, D4>;
116110
117- template <int N>
118- void dropFront (int64_t arr[N], int64_t *res) {
111+ template <int N> void dropFront (int64_t arr[N], int64_t *res) {
119112 for (unsigned i = 1 ; i < N; ++i)
120113 *(res + i - 1 ) = arr[i];
121114}
122115
123116// ===----------------------------------------------------------------------===//
124117// Codegen-compatible structures for StridedMemRef type.
125118// ===----------------------------------------------------------------------===//
126- template <typename T, int Rank>
127- class StridedMemrefIterator ;
119+ template <typename T, int Rank> class StridedMemrefIterator ;
128120
129121// / StridedMemRef descriptor type with static rank.
130- template <typename T, int N>
131- struct StridedMemRefType {
122+ template <typename T, int N> struct StridedMemRefType {
132123 T *basePtr;
133124 T *data;
134125 int64_t offset;
@@ -165,8 +156,7 @@ struct StridedMemRefType {
165156};
166157
167158// / StridedMemRef descriptor type specialized for rank 1.
168- template <typename T>
169- struct StridedMemRefType <T, 1 > {
159+ template <typename T> struct StridedMemRefType <T, 1 > {
170160 T *basePtr;
171161 T *data;
172162 int64_t offset;
@@ -188,8 +178,7 @@ struct StridedMemRefType<T, 1> {
188178};
189179
190180// / StridedMemRef descriptor type specialized for rank 0.
191- template <typename T>
192- struct StridedMemRefType <T, 0 > {
181+ template <typename T> struct StridedMemRefType <T, 0 > {
193182 T *basePtr;
194183 T *data;
195184 int64_t offset;
@@ -207,8 +196,7 @@ struct StridedMemRefType<T, 0> {
207196};
208197
209198// / Iterate over all elements in a strided memref.
210- template <typename T, int Rank>
211- class StridedMemrefIterator {
199+ template <typename T, int Rank> class StridedMemrefIterator {
212200public:
213201 using iterator_category = std::forward_iterator_tag;
214202 using value_type = T;
@@ -261,8 +249,7 @@ class StridedMemrefIterator {
261249};
262250
263251// / Iterate over all elements in a 0-ranked strided memref.
264- template <typename T>
265- class StridedMemrefIterator <T, 0 > {
252+ template <typename T> class StridedMemrefIterator <T, 0 > {
266253public:
267254 using iterator_category = std::forward_iterator_tag;
268255 using value_type = T;
@@ -307,21 +294,18 @@ class StridedMemrefIterator<T, 0> {
307294// Codegen-compatible structure for UnrankedMemRef type.
308295// ===----------------------------------------------------------------------===//
309296// Unranked MemRef
310- template <typename T>
311- struct UnrankedMemRefType {
297+ template <typename T> struct UnrankedMemRefType {
312298 int64_t rank;
313299 void *descriptor;
314300};
315301
316302// ===----------------------------------------------------------------------===//
317303// DynamicMemRefType type.
318304// ===----------------------------------------------------------------------===//
319- template <typename T>
320- class DynamicMemRefIterator ;
305+ template <typename T> class DynamicMemRefIterator ;
321306
322307// A reference to one of the StridedMemRef types.
323- template <typename T>
324- class DynamicMemRefType {
308+ template <typename T> class DynamicMemRefType {
325309public:
326310 int64_t rank;
327311 T *basePtr;
@@ -388,8 +372,7 @@ class DynamicMemRefType {
388372};
389373
390374// / Iterate over all elements in a dynamic memref.
391- template <typename T>
392- class DynamicMemRefIterator {
375+ template <typename T> class DynamicMemRefIterator {
393376public:
394377 using iterator_category = std::forward_iterator_tag;
395378 using value_type = T;
0 commit comments