Home
last modified time | relevance | path

Searched refs:tileSizes (Results 1 – 22 of 22) sorted by relevance

/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/
H A DLoopTiling.cpp97 tileSizes->assign(band.size(), tileSize); in getTileSizes()
102 if (!this->tileSizes.empty()) { in getTileSizes()
103 tileSizes->assign(this->tileSizes.begin(), this->tileSizes.end()); in getTileSizes()
107 tileSizes->resize(band.size()); in getTileSizes()
120 std::fill(tileSizes->begin(), tileSizes->end(), in getTileSizes()
135 std::fill(tileSizes->begin(), tileSizes->end(), 1); in getTileSizes()
152 (*tileSizes)[i] = tSize; in getTileSizes()
155 (*tileSizes)[i] = std::max( in getTileSizes()
172 SmallVector<unsigned, 6> tileSizes; in runOnOperation() local
173 getTileSizes(band, &tileSizes); in runOnOperation()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DTiling.cpp57 if (isZero(tileSizes[idx - zerosCount])) { in makeTiledLoopRanges()
59 tileSizes.erase(tileSizes.begin() + idx - zerosCount); in makeTiledLoopRanges()
68 for (unsigned idx = 0, e = tileSizes.size(); idx < e; ++idx) in makeTiledLoopRanges()
70 shapeSizes[idx], tileSizes[idx]}); in makeTiledLoopRanges()
388 tileSizes = tileSizes.take_front(nLoops); in tileLinalgOpImpl()
390 if (llvm::all_of(tileSizes, isZero)) { in tileLinalgOpImpl()
559 SmallVector<Value> tileSizes = in tilePadOp() local
563 tileSizes.append(rank - tileSizes.size(), zero); in tilePadOp()
571 if (!isZero(tileSizes[i])) { in tilePadOp()
574 steps.push_back(tileSizes[i]); in tilePadOp()
[all …]
H A DFusionOnTensors.cpp155 SmallVector<Value> tileSizes(producerOp.getNumLoops(), zero); in getTiledProducer() local
167 tileSizes, producerLoopBounds, in getTiledProducer()
276 OpBuilder &b, ArrayRef<int64_t> tileSizes, in tileRootOp() argument
280 if (tileSizes.size() == static_cast<size_t>(count(tileSizes, 0))) in tileRootOp()
288 .setTileSizes(tileSizes) in tileRootOp()
317 for (const auto &en : enumerate(tileSizes)) { in tileRootOp()
427 assert(tileSizes.size() == tileInterchange.size() && in tileConsumerAndFuseProducers()
461 SmallVector<int64_t> outerTileSizes(tileSizes.size(), 0); in tileConsumerAndFuseProducers()
462 SmallVector<int64_t> innerTileSizes(tileSizes.size(), 0); in tileConsumerAndFuseProducers()
464 outerTileSizes[i] = tileSizes[i]; in tileConsumerAndFuseProducers()
[all …]
H A DBubbleUpExtractSlice.cpp113 SmallVector<Value, 4> tileSizes = sizeBounds; in matchAndRewrite() local
117 tileSizes[position] = sizeVals[result.index()]; in matchAndRewrite()
123 rewriter, linalgLoc, linalgOp, valuesToTile, tileOffsets, tileSizes, in matchAndRewrite()
H A DTransforms.cpp124 SmallVector<int64_t, 4> tileSizes(ts.begin(), ts.end()); in setTileSizes() local
129 return llvm::to_vector<4>(map_range(tileSizes, [&](int64_t s) { in setTileSizes()
140 SmallVector<Value, 4> tileSizes; in scalarizeDynamicDims() local
143 return tileSizes; in scalarizeDynamicDims()
148 return tileSizes; in scalarizeDynamicDims()
153 tileSizes.push_back(getConstantIntValue(shapeSize) in scalarizeDynamicDims()
156 return tileSizes; in scalarizeDynamicDims()
485 if (options.tileSizes.size() < rootOp.getNumLoops()) in returningMatchAndRewrite()
490 options.tileInterchange.size() != options.tileSizes.size()) in returningMatchAndRewrite()
495 SmallVector<int64_t> rootTileSizes(options.tileSizes.begin(), in returningMatchAndRewrite()
[all …]
H A DFusion.cpp116 SmallVector<Value, 8> ivs, tileSizes, sizeBounds; in fuse() local
129 tileSizes.push_back(it->second.size); in fuse()
134 tileSizes.push_back(zero); in fuse()
146 b, loc, producer, getTiledOperands(producer), ivs, tileSizes, sizeBounds, in fuse()
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/
H A DParallelLoopTiling.cpp53 mlir::scf::tileParallelLoop(ParallelOp op, ArrayRef<int64_t> tileSizes, in tileParallelLoop() argument
60 if (i < tileSizes.size()) in tileParallelLoop()
62 b.create<arith::ConstantIndexOp>(op.getLoc(), tileSizes[i])); in tileParallelLoop()
191 explicit ParallelLoopTiling(ArrayRef<int64_t> tileSizes, in ParallelLoopTiling()
193 this->tileSizes = tileSizes; in ParallelLoopTiling()
204 tileParallelLoop(ploop, tileSizes, noMinMaxBounds); in runOnOperation()
211 mlir::createParallelLoopTilingPass(ArrayRef<int64_t> tileSizes, in createParallelLoopTilingPass() argument
213 return std::make_unique<ParallelLoopTiling>(tileSizes, noMinMaxBounds); in createParallelLoopTilingPass()
H A DTileUsingInterface.cpp32 SmallVector<int64_t> tileSizes(ts.begin(), ts.end()); in setTileSizes() local
33 tileSizeComputationFunction = [tileSizes](OpBuilder &b, Operation *op) { in setTileSizes()
37 return llvm::to_vector<4>(map_range(tileSizes, [&](int64_t s) { in setTileSizes()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Utils/
H A DUtils.cpp62 TileCheck(ValueRange tileSizes) : tileSizes(tileSizes) {} in TileCheck()
65 isTiled |= !isZero(tileSizes[expr.getPosition()]); in visitDimExpr()
75 ValueRange tileSizes; member
83 TileCheck t(tileSizes); in isTiled()
89 static bool isTiled(AffineMap map, ValueRange tileSizes) { in isTiled() argument
93 if (isTiled(map.getResult(r), tileSizes)) in isTiled()
815 if (!isTiled(map.getSubMap({r}), tileSizes)) { in makeTiledShape()
936 bool isTiled = !isZero(tileSizes[idx]); in computeTileOffsets()
951 bool isTiled = !isZero(tileSizes[idx]); in computeTileSizes()
1011 llvm::make_range(tileSizes.begin(), tileSizes.end()), in makeTiledShapes()
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Utils/
H A DUtils.h189 ValueRange ivs, ValueRange tileSizes);
196 ValueRange tileSizes,
224 ValueRange tileSizes, AffineMap map, ValueRange lbs,
242 ValueRange ivs, ValueRange tileSizes,
388 tileRootOp(OpBuilder &b, ArrayRef<int64_t> tileSizes,
443 OpBuilder &b, LinalgOp consumerOp, ArrayRef<int64_t> tileSizes,
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/TransformOps/
H A DLinalgTransformOps.cpp168 fusionOptions.tileSizes = extractFromI64ArrayAttr(getTileSizes()); in apply()
173 fusionOptions.tileSizes.size() - llvm::count(fusionOptions.tileSizes, 0), in apply()
859 SmallVector<int64_t> tileSizes = extractFromI64ArrayAttr(getStaticSizes()); in apply() local
904 if (!tileSizes.empty()) { in apply()
908 sizes.reserve(tileSizes.size()); in apply()
945 SmallVector<int64_t> tileSizes = extractFromI64ArrayAttr(getStaticSizes()); in getMixedSizes() local
947 results.reserve(tileSizes.size()); in getMixedSizes()
950 for (int64_t size : tileSizes) { in getMixedSizes()
1016 if (Optional<ArrayAttr> tileSizes = getTileSizes()) in applyToOne() local
1018 rewriter, target, getAsOpFoldResult(*tileSizes), dimMapping); in applyToOne()
/llvm-project-15.0.7/mlir/test/lib/Dialect/Linalg/
H A DTestLinalgTransforms.cpp110 ListOption<int64_t> tileSizes{ member
440 ArrayRef<int64_t> tileSizes, in applyTilePattern() argument
455 assert(tileSizes.empty() && in applyTilePattern()
458 linalgTilingOptions.setTileSizes(tileSizes); in applyTilePattern()
520 return applyTilePattern(getOperation(), loopType, tileSizes, peeledLoops, in runOnOperation()
523 return applyTilePattern(getOperation(), loopType, tileSizes, in runOnOperation()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Affine/
H A DLoopUtils.h105 ArrayRef<unsigned> tileSizes,
112 MutableArrayRef<AffineForOp> input, ArrayRef<Value> tileSizes,
H A DPasses.td194 ListOption<"tileSizes", "tile-sizes", "unsigned",
/llvm-project-15.0.7/mlir/test/lib/Interfaces/TilingInterface/
H A DTestTilingInterface.cpp151 StringRef filterName, ArrayRef<int64_t> tileSizes, in addPatternForTiling() argument
154 tilingOptions.setTileSizes(tileSizes).setInterchange(interchange);
/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Utils/
H A DLoopUtils.cpp463 ArrayRef<t> tileSizes) { in performPreTilingChecks() argument
749 assert(origLoops.size() == tileSizes.size() && in constructParametricallyTiledIndexSetHyperRect()
775 ArrayRef<unsigned> tileSizes) { in constructTiledIndexSetHyperRect() argument
777 assert(origLoops.size() == tileSizes.size()); in constructTiledIndexSetHyperRect()
790 newLoops[i].setStep(tileSizes[i] * origLoops[i].getStep()); in constructTiledIndexSetHyperRect()
811 } else if (largestDiv % tileSizes[i] != 0) { in constructTiledIndexSetHyperRect()
860 ArrayRef<unsigned> tileSizes, in tilePerfectlyNested() argument
865 if (failed(performPreTilingChecks(input, tileSizes))) in tilePerfectlyNested()
904 ArrayRef<Value> tileSizes, in tilePerfectlyNestedParametric() argument
909 if (failed(performPreTilingChecks(input, tileSizes))) in tilePerfectlyNestedParametric()
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/Transforms/
H A DTransforms.h107 tileParallelLoop(ParallelOp op, llvm::ArrayRef<int64_t> tileSizes,
H A DPasses.td76 ListOption<"tileSizes", "parallel-loop-tile-sizes", "int64_t",
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/
H A DPasses.h39 createLinalgTilingPass(ArrayRef<int64_t> tileSizes = {},
H A DPasses.td125 ListOption<"tileSizes", "tile-sizes", "int64_t", "Tile sizes">,
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Utils/
H A DUtils.cpp939 SmallVector<Value, 4> tileSizes; in extractFixedOuterLoops() local
940 tileSizes.reserve(sizes.size()); in extractFixedOuterLoops()
952 tileSizes.push_back(iterationsPerBlock); in extractFixedOuterLoops()
956 auto intraTile = tile(forOps, tileSizes, forOps.back()); in extractFixedOuterLoops()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/Transforms/
H A DTransforms.h477 ArrayRef<OpFoldResult> tileSizes,
573 SmallVector<int64_t> tileSizes; member
575 tileSizes.assign(ts.begin(), ts.end()); in setTileSizes()