• Home
  • Raw
  • Download

Lines Matching refs:AffineForOp

58 static void getCleanupLoopLowerBound(AffineForOp forOp, unsigned unrollFactor,  in getCleanupLoopLowerBound()
153 LogicalResult mlir::promoteIfSingleIteration(AffineForOp forOp) { in promoteIfSingleIteration()
236 if (auto forOp = dyn_cast<AffineForOp>(op)) in promoteSingleIterationLoops()
250 static AffineForOp generateShiftedLoop( in generateShiftedLoop()
253 unsigned offset, AffineForOp srcForOp, OpBuilder b) { in generateShiftedLoop()
260 auto loopChunk = b.create<AffineForOp>(srcForOp.getLoc(), lbOperands, lbMap, in generateShiftedLoop()
290 return AffineForOp(); in generateShiftedLoop()
305 LogicalResult mlir::affineForOpBodySkew(AffineForOp forOp, in affineForOpBodySkew()
354 AffineForOp prologue, epilogue; in affineForOpBodySkew()
374 AffineForOp res; in affineForOpBodySkew()
393 AffineForOp::getCanonicalizationPatterns(patterns, res.getContext()); in affineForOpBodySkew()
437 checkTilingLegalityImpl(MutableArrayRef<mlir::AffineForOp> origLoops) { in checkTilingLegalityImpl()
506 checkTilingLegality(MutableArrayRef<mlir::AffineForOp> origLoops) { in checkTilingLegality()
512 void performPreTilingChecks(MutableArrayRef<AffineForOp> input, in performPreTilingChecks()
527 static void moveLoopBodyImpl(AffineForOp src, AffineForOp dest, in moveLoopBodyImpl()
536 void moveLoopBody(AffineForOp src, AffineForOp dest) { in moveLoopBody()
542 void constructTiledLoopNest(MutableArrayRef<AffineForOp> origLoops, in constructTiledLoopNest()
543 AffineForOp rootAffineForOp, unsigned width, in constructTiledLoopNest()
544 MutableArrayRef<AffineForOp> tiledLoops) { in constructTiledLoopNest()
549 AffineForOp innermostPointLoop; in constructTiledLoopNest()
555 AffineForOp pointLoop = b.create<AffineForOp>(loc, 0, 0); in constructTiledLoopNest()
569 AffineForOp tileSpaceLoop = b.create<AffineForOp>(loc, 0, 0); in constructTiledLoopNest()
582 LogicalResult checkIfHyperRectangular(MutableArrayRef<AffineForOp> input, in checkIfHyperRectangular()
583 AffineForOp rootAffineForOp, in checkIfHyperRectangular()
598 static void setIntraTileBoundsParametric(OpBuilder &b, AffineForOp origLoop, in setIntraTileBoundsParametric()
599 AffineForOp newInterTileLoop, in setIntraTileBoundsParametric()
600 AffineForOp newIntraTileLoop, in setIntraTileBoundsParametric()
693 static void setInterTileBoundsParametric(OpBuilder &b, AffineForOp origLoop, in setInterTileBoundsParametric()
694 AffineForOp newLoop, Value tileSize) { in setInterTileBoundsParametric()
795 MutableArrayRef<AffineForOp> origLoops, in constructParametricallyTiledIndexSetHyperRect()
796 MutableArrayRef<AffineForOp> newLoops, ArrayRef<Value> tileSizes) { in constructParametricallyTiledIndexSetHyperRect()
822 constructTiledIndexSetHyperRect(MutableArrayRef<AffineForOp> origLoops, in constructTiledIndexSetHyperRect()
823 MutableArrayRef<AffineForOp> newLoops, in constructTiledIndexSetHyperRect()
902 mlir::tilePerfectlyNested(MutableArrayRef<AffineForOp> input, in tilePerfectlyNested()
904 SmallVectorImpl<AffineForOp> *tiledNest) { in tilePerfectlyNested()
907 MutableArrayRef<AffineForOp> origLoops = input; in tilePerfectlyNested()
908 AffineForOp rootAffineForOp = origLoops[0]; in tilePerfectlyNested()
911 SmallVector<AffineForOp, 6> tiledLoops(2 * width); in tilePerfectlyNested()
944 mlir::tilePerfectlyNestedParametric(MutableArrayRef<AffineForOp> input, in tilePerfectlyNestedParametric()
946 SmallVectorImpl<AffineForOp> *tiledNest) { in tilePerfectlyNestedParametric()
949 MutableArrayRef<AffineForOp> origLoops = input; in tilePerfectlyNestedParametric()
950 AffineForOp rootAffineForOp = origLoops[0]; in tilePerfectlyNestedParametric()
953 SmallVector<AffineForOp, 6> tiledLoops(2 * width); in tilePerfectlyNestedParametric()
1006 void mlir::getPerfectlyNestedLoops(SmallVectorImpl<AffineForOp> &nestedLoops, in getPerfectlyNestedLoops()
1007 AffineForOp root) { in getPerfectlyNestedLoops()
1020 std::vector<SmallVector<AffineForOp, 6>> *bands) { in getTileableBands() argument
1023 for (AffineForOp forOp : f.getOps<AffineForOp>()) { in getTileableBands()
1024 SmallVector<AffineForOp, 6> band; in getTileableBands()
1031 LogicalResult mlir::loopUnrollFull(AffineForOp forOp) { in loopUnrollFull()
1044 LogicalResult mlir::loopUnrollUpToFactor(AffineForOp forOp, in loopUnrollUpToFactor()
1099 LogicalResult mlir::loopUnrollByFactor(AffineForOp forOp, in loopUnrollByFactor()
1128 auto cleanupForOp = cast<AffineForOp>(builder.clone(*forOp)); in loopUnrollByFactor()
1274 LogicalResult mlir::loopUnrollJamUpToFactor(AffineForOp forOp, in loopUnrollJamUpToFactor()
1284 LogicalResult mlir::loopUnrollJamByFactor(AffineForOp forOp, in loopUnrollJamByFactor()
1303 while (it != e && !isa<AffineForOp>(&*it)) in loopUnrollJamByFactor()
1308 while (it != e && isa<AffineForOp>(&*it)) in loopUnrollJamByFactor()
1350 auto cleanupAffineForOp = cast<AffineForOp>(builder.clone(*forOp)); in loopUnrollJamByFactor()
1404 void mlir::interchangeLoops(AffineForOp forOpA, AffineForOp forOpB) { in interchangeLoops()
1429 ArrayRef<AffineForOp> loops, ArrayRef<unsigned> loopPermMap) { in checkLoopInterchangeDependences()
1462 bool mlir::isValidLoopInterchangePermutation(ArrayRef<AffineForOp> loops, in isValidLoopInterchangePermutation()
1476 mlir::isPerfectlyNested(ArrayRef<AffineForOp> loops) { in isPerfectlyNested()
1487 auto parentForOp = dyn_cast<AffineForOp>(loop->getParentOp()); in isPerfectlyNested()
1498 unsigned mlir::permuteLoops(MutableArrayRef<AffineForOp> input, in permuteLoops()
1568 AffineForOp mlir::sinkSequentialLoops(AffineForOp forOp) { in sinkSequentialLoops()
1569 SmallVector<AffineForOp, 4> loops; in sinkSequentialLoops()
1648 static SmallVector<AffineForOp, 8>
1649 stripmineSink(AffineForOp forOp, uint64_t factor, in stripmineSink()
1650 ArrayRef<AffineForOp> targets) { in stripmineSink()
1669 SmallVector<AffineForOp, 8> innerLoops; in stripmineSink()
1673 auto newForOp = b.create<AffineForOp>(t.getLoc(), lbOperands, lbMap, in stripmineSink()
1752 SmallVector<SmallVector<AffineForOp, 8>, 8>
1753 mlir::tile(ArrayRef<AffineForOp> forOps, ArrayRef<uint64_t> sizes, in tile()
1754 ArrayRef<AffineForOp> targets) { in tile()
1775 SmallVector<AffineForOp, 8> mlir::tile(ArrayRef<AffineForOp> forOps, in tile()
1777 AffineForOp target) { in tile()
2148 SmallVector<AffineForOp, 4> enclosingFors; in findHighestBlockForPlacement()
2218 static AffineForOp
2238 AffineForOp copyNestRoot; in generatePointWiseCopy()
2622 SmallVector<AffineForOp, 4> ivs; in getFullMemRefAsRegion()
2823 AffineForOp forOp; in affineDataCopyGenerate()
2825 if (llvm::DebugFlag && (forOp = dyn_cast<AffineForOp>(&*begin))) { in affineDataCopyGenerate()
2842 uint64_t mlir::affineDataCopyGenerate(AffineForOp forOp, in affineDataCopyGenerate()
2876 std::vector<SmallVector<AffineForOp, 2>> &depthToLoops) { in gatherLoopsInBlock() argument
2880 depthToLoops.push_back(SmallVector<AffineForOp, 2>()); in gatherLoopsInBlock()
2883 if (auto forOp = dyn_cast<AffineForOp>(op)) { in gatherLoopsInBlock()
2892 std::vector<SmallVector<AffineForOp, 2>> &depthToLoops) { in gatherLoops() argument
2907 AffineForOp mlir::createCanonicalizedAffineForOp( in createCanonicalizedAffineForOp()
2920 return b.create<AffineForOp>(loc, lowerOperands, lbMap, upperOperands, ubMap, in createCanonicalizedAffineForOp()
2929 static AffineIfOp createSeparationCondition(MutableArrayRef<AffineForOp> loops, in createSeparationCondition()
2939 for (AffineForOp forOp : loops) in createSeparationCondition()
3011 createFullTiles(MutableArrayRef<AffineForOp> inputNest, in createFullTiles()
3012 SmallVectorImpl<AffineForOp> &fullTileLoops, OpBuilder b) { in createFullTiles()
3047 AffineForOp fullTileLoop = createCanonicalizedAffineForOp( in createFullTiles()
3066 mlir::separateFullTiles(MutableArrayRef<AffineForOp> inputNest, in separateFullTiles()
3067 SmallVectorImpl<AffineForOp> *fullTileNest) { in separateFullTiles()
3081 SmallVector<AffineForOp, 4> fullTileLoops; in separateFullTiles()
3101 AffineForOp outermostFullTileLoop = fullTileLoops[0]; in separateFullTiles()