| /llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/ |
| H A D | LoopTiling.cpp | 97 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 D | Tiling.cpp | 57 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 D | FusionOnTensors.cpp | 155 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 D | BubbleUpExtractSlice.cpp | 113 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 D | Transforms.cpp | 124 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 D | Fusion.cpp | 116 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 D | ParallelLoopTiling.cpp | 53 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 D | TileUsingInterface.cpp | 32 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 D | Utils.cpp | 62 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 D | Utils.h | 189 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 D | LinalgTransformOps.cpp | 168 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 D | TestLinalgTransforms.cpp | 110 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 D | LoopUtils.h | 105 ArrayRef<unsigned> tileSizes, 112 MutableArrayRef<AffineForOp> input, ArrayRef<Value> tileSizes,
|
| H A D | Passes.td | 194 ListOption<"tileSizes", "tile-sizes", "unsigned",
|
| /llvm-project-15.0.7/mlir/test/lib/Interfaces/TilingInterface/ |
| H A D | TestTilingInterface.cpp | 151 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 D | LoopUtils.cpp | 463 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 D | Transforms.h | 107 tileParallelLoop(ParallelOp op, llvm::ArrayRef<int64_t> tileSizes,
|
| H A D | Passes.td | 76 ListOption<"tileSizes", "parallel-loop-tile-sizes", "int64_t",
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/Linalg/ |
| H A D | Passes.h | 39 createLinalgTilingPass(ArrayRef<int64_t> tileSizes = {},
|
| H A D | Passes.td | 125 ListOption<"tileSizes", "tile-sizes", "int64_t", "Tile sizes">,
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SCF/Utils/ |
| H A D | Utils.cpp | 939 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 D | Transforms.h | 477 ArrayRef<OpFoldResult> tileSizes, 573 SmallVector<int64_t> tileSizes; member 575 tileSizes.assign(ts.begin(), ts.end()); in setTileSizes()
|