1313#include " llvm/ADT/STLExtras.h"
1414#include " llvm/Support/CommandLine.h"
1515#include " llvm/Support/Debug.h"
16+ #include " llvm/Support/InterleavedRange.h"
1617#include " llvm/Support/MathExtras.h"
1718#include " llvm/Support/raw_ostream.h"
1819#include < cmath>
@@ -44,8 +45,8 @@ transform::gpu::CopyMappingInfo::CopyMappingInfo(MLIRContext *ctx,
4445 " only 1,2,3-D copies are supported for now" );
4546
4647 LDBG (" START CopyMappingInfo, favorPredication: " << favorPredication);
47- LLVM_DEBUG (llvm::interleaveComma (copySizes, DBGS () << " --copy shape: " );
48- llvm::dbgs () << " \n " ; );
48+ LLVM_DEBUG (DBGS () << " --copy shape: " << llvm::interleaved (copySizes)
49+ << " \n " );
4950
5051 // Greedily find the largest vector size that can be used to copy the most
5152 // minor dimension: we are in the business of filling kMaxVectorLoadBitWidth
@@ -63,11 +64,10 @@ transform::gpu::CopyMappingInfo::CopyMappingInfo(MLIRContext *ctx,
6364 if (status == Status::Invalid)
6465 return ;
6566
66- LLVM_DEBUG (llvm::interleaveComma (copySizes, DBGS () << " --copy: " );
67- llvm::dbgs () << " \n " ; llvm::interleaveComma (
68- this ->numThreads , DBGS () << " --numThreads: " );
69- llvm::dbgs () << " \n " ;);
70- LDBG (" --vectorSize: " << this ->vectorSize );
67+ LLVM_DEBUG (DBGS () << " --copy: " << llvm::interleaved (copySizes) << " \n "
68+ << " --numThreads: " << llvm::interleaved (this ->numThreads )
69+ << " \n "
70+ << " --vectorSize: " << this ->vectorSize << " \n " );
7171 assert (this ->numThreads .size () == copySizes.size () &&
7272 " compute copy mapping expected same number of threads and copy sizes" );
7373
@@ -158,10 +158,8 @@ static SmallVector<int64_t> maximizeNumThreads(ArrayRef<int64_t> sizes,
158158 int64_t localBest = factor * product (nestedThreadsPerDim);
159159 if (localBest > best && localBest <= maxNumThreads) {
160160 LDBG (indent << " new localBest: " << localBest);
161- LLVM_DEBUG (
162- llvm::interleaveComma (nestedThreadsPerDim,
163- DBGS () << indent << " nestedThreadsPerDim: " );
164- llvm::dbgs () << " \n " ;);
161+ LDBG (indent << " nestedThreadsPerDim: "
162+ << llvm::interleaved (nestedThreadsPerDim));
165163 localThreadsPerDim.clear ();
166164 localThreadsPerDim.push_back (factor);
167165 llvm::append_range (localThreadsPerDim, nestedThreadsPerDim);
@@ -170,10 +168,7 @@ static SmallVector<int64_t> maximizeNumThreads(ArrayRef<int64_t> sizes,
170168 }
171169
172170 LDBG (indent << " found globalBest: " << best);
173- LLVM_DEBUG (llvm::interleaveComma (localThreadsPerDim,
174- DBGS () << indent << " numThreads: " );
175- llvm::dbgs () << " \n " ;);
176-
171+ LDBG (indent << " numThreads: " << llvm::interleaved (localThreadsPerDim));
177172 return localThreadsPerDim;
178173}
179174
@@ -231,10 +226,8 @@ transform::gpu::CopyMappingInfo::inferNumThreadsImpl(
231226 SmallVector<int64_t > inferredNumThreads =
232227 maximizeNumThreads (scaledSizes, 0 , totalNumThreads);
233228
234- LLVM_DEBUG (llvm::interleaveComma (inferredNumThreads,
235- DBGS () << " inferred numThreads: " );
236- llvm::dbgs () << " \n " ;
237- LDBG (" computed actualVectorSize: " << desiredVectorSize););
229+ LDBG (" inferred numThreads: " << llvm::interleaved (inferredNumThreads));
230+ LDBG (" computed actualVectorSize: " << desiredVectorSize);
238231
239232 // Corner case: we cannot use more threads than available. If the dimension of
240233 // the copy is so bad it is because higher-level tiling did not do its job, we
@@ -255,13 +248,10 @@ transform::gpu::CopyMappingInfo::inferNumThreadsImpl(
255248}
256249
257250void transform::gpu::CopyMappingInfo::print (llvm::raw_ostream &os) const {
258- os << " MappingInfo{" ;
259- os << " CopyMappingInfo: " ;
260- os << " valid: " << (status != Status::Invalid) << " , " ;
261- os << " vectorSize: " << vectorSize << " , " ;
262- llvm::interleaveComma (numThreads, os << " , numThreads: {" );
263- llvm::interleaveComma (smallestBoundingTileSizes,
264- os << " }, smallestBoundingTileSizes: {" );
265- llvm::interleaveComma (threadMapping, os << " }, threadMapping: {" );
266- os << " }}" ;
251+ os << " MappingInfo{"
252+ << " CopyMappingInfo: " << " valid: " << (status != Status::Invalid) << " , "
253+ << " vectorSize: " << vectorSize << " , numThreads: {"
254+ << llvm::interleaved (numThreads) << " }, smallestBoundingTileSizes: {"
255+ << llvm::interleaved (smallestBoundingTileSizes) << " }, threadMapping: {"
256+ << llvm::interleaved (threadMapping) << " }}" ;
267257}
0 commit comments