diff options
Diffstat (limited to 'mlir/lib/Transforms/Utils/LoopUtils.cpp')
-rw-r--r-- | mlir/lib/Transforms/Utils/LoopUtils.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mlir/lib/Transforms/Utils/LoopUtils.cpp b/mlir/lib/Transforms/Utils/LoopUtils.cpp index e09d8c89b37..405116e72e7 100644 --- a/mlir/lib/Transforms/Utils/LoopUtils.cpp +++ b/mlir/lib/Transforms/Utils/LoopUtils.cpp @@ -1118,11 +1118,12 @@ void mlir::mapLoopToProcessorIds(loop::ForOp forOp, for (unsigned i = 1, e = processorId.size(); i < e; ++i) mul = b.create<AddIOp>(loc, b.create<MulIOp>(loc, mul, numProcessors[i]), processorId[i]); - Value *lb = b.create<AddIOp>(loc, forOp.lowerBound(), mul); + Value *lb = b.create<AddIOp>(loc, forOp.lowerBound(), + b.create<MulIOp>(loc, forOp.step(), mul)); forOp.setLowerBound(lb); - Value *step = numProcessors.front(); - for (auto *numProcs : numProcessors.drop_front()) + Value *step = forOp.step(); + for (auto *numProcs : numProcessors) step = b.create<MulIOp>(loc, step, numProcs); forOp.setStep(step); } |