| /llvm-project-15.0.7/mlir/lib/Conversion/SCFToSPIRV/ |
| H A D | SCFToSPIRV.cpp | 171 loopOp.addEntryAndMergeBlock(); in matchAndRewrite() 177 loopOp.body().getBlocks().insert(getBlockIt(loopOp.body(), 1), header); in matchAndRewrite() 211 auto *mergeBlock = loopOp.getMergeBlock(); in matchAndRewrite() 220 Block *continueBlock = loopOp.getContinueBlock(); in matchAndRewrite() 343 loopOp.addEntryAndMergeBlock(); in matchAndRewrite() 350 Block &entryBlock = *loopOp.getEntryBlock(); in matchAndRewrite() 353 Block &mergeBlock = *loopOp.getMergeBlock(); in matchAndRewrite() 370 rewriter.inlineRegionBefore(beforeRegion, loopOp.body(), in matchAndRewrite() 374 rewriter.inlineRegionBefore(afterRegion, loopOp.body(), in matchAndRewrite() 398 rewriter.setInsertionPoint(loopOp); in matchAndRewrite() [all …]
|
| /llvm-project-15.0.7/mlir/lib/Target/SPIRV/Serialization/ |
| H A D | SerializeOps.cpp | 418 LogicalResult Serializer::processLoopOp(spirv::LoopOp loopOp) { in processLoopOp() argument 422 auto &body = loopOp.body(); in processLoopOp() 426 auto *headerBlock = loopOp.getHeaderBlock(); in processLoopOp() 427 auto *continueBlock = loopOp.getContinueBlock(); in processLoopOp() 428 auto *mergeBlock = loopOp.getMergeBlock(); in processLoopOp() 432 auto loc = loopOp.getLoc(); in processLoopOp() 454 {mergeID, continueID, static_cast<uint32_t>(loopOp.loop_control())}); in processLoopOp()
|
| H A D | Serializer.cpp | 36 if (auto loopOp = dyn_cast<spirv::LoopOp>(op)) in getStructuredControlFlowOpMergeBlock() local 37 return loopOp.getMergeBlock(); in getStructuredControlFlowOpMergeBlock() 48 if (auto loopOp = dyn_cast<spirv::LoopOp>(block->getParentOp())) { in getPhiIncomingBlock() local 51 Operation *op = loopOp.getOperation(); in getPhiIncomingBlock() 57 return loopOp->getBlock(); in getPhiIncomingBlock()
|
| H A D | Serializer.h | 259 LogicalResult processLoopOp(spirv::LoopOp loopOp);
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/ |
| H A D | Loops.cpp | 171 for (Operation *loopOp : loopOps) { in replaceIndexOpsByInductionVariables() 172 llvm::TypeSwitch<Operation *>(loopOp) in replaceIndexOpsByInductionVariables() 189 LoopLikeOpInterface loopOp = loopOps.back(); in replaceIndexOpsByInductionVariables() local 191 llvm::make_early_inc_range(loopOp.getLoopBody().getOps<IndexOp>())) in replaceIndexOpsByInductionVariables()
|
| H A D | Transforms.cpp | 328 for (auto loopOp : loops) { in peelLoops() local 330 loopResults = peelLoop(rewriter, loopOp); in peelLoops() 342 Operation *loopOp = res.loops[loop]; in peelTiledLinalgOp() local 343 loopResults = peelLoop(rewriter, loopOp); in peelTiledLinalgOp() 346 if (res.tensorResults.size() == loopOp->getNumResults() && in peelTiledLinalgOp() 348 loopOp->getResults().begin())) in peelTiledLinalgOp()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/ |
| H A D | TileUsingInterface.cpp | 348 auto loopOp = dyn_cast<scf::ForOp>(blockArg.getOwner()->getParentOp()); in getFusableProducer() local 349 if (!loopOp) in getFusableProducer() 351 v = loopOp.getOpOperandForRegionIterArg(blockArg).get(); in getFusableProducer()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/SPIRVToLLVM/ |
| H A D | SPIRVToLLVM.cpp | 1046 matchAndRewrite(spirv::LoopOp loopOp, OpAdaptor adaptor, in matchAndRewrite() argument 1049 if (loopOp.loop_control() != spirv::LoopControl::None) in matchAndRewrite() 1052 Location loc = loopOp.getLoc(); in matchAndRewrite() 1057 auto position = Block::iterator(loopOp); in matchAndRewrite() 1062 Block *entryBlock = loopOp.getEntryBlock(); in matchAndRewrite() 1067 Block *headerBlock = loopOp.getHeaderBlock(); in matchAndRewrite() 1073 Block *mergeBlock = loopOp.getMergeBlock(); in matchAndRewrite() 1079 rewriter.inlineRegionBefore(loopOp.body(), endBlock); in matchAndRewrite() 1080 rewriter.replaceOp(loopOp, endBlock->getArguments()); in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Conversion/SCFToGPU/ |
| H A D | SCFToGPU.cpp | 529 auto loopOp = rewriter.create<scf::ForOp>( in processParallelLoop() local 533 newIndex = loopOp.getInductionVar(); in processParallelLoop() 534 rewriter.setInsertionPointToStart(loopOp.getBody()); in processParallelLoop()
|
| /llvm-project-15.0.7/flang/lib/Lower/ |
| H A D | OpenACC.cpp | 304 auto loopOp = createRegionOp<mlir::acc::LoopOp, mlir::acc::YieldOp>( in createLoopOp() local 307 loopOp->setAttr(mlir::acc::LoopOp::getExecutionMappingAttrName(), in createLoopOp() 318 loopOp->setAttr(mlir::acc::LoopOp::getCollapseAttrName(), in createLoopOp() 322 loopOp->setAttr(mlir::acc::LoopOp::getSeqAttrName(), in createLoopOp() 326 loopOp->setAttr(mlir::acc::LoopOp::getIndependentAttrName(), in createLoopOp() 329 loopOp->setAttr(mlir::acc::LoopOp::getAutoAttrName(), in createLoopOp() 333 return loopOp; in createLoopOp()
|
| /llvm-project-15.0.7/flang/lib/Optimizer/Transforms/ |
| H A D | AffinePromotion.cpp | 89 for (auto loopOp : loopOperation.getOps<fir::DoLoopOp>()) { in analyzeBody() local 91 .try_emplace(loopOp, loopOp, functionAnalysis) in analyzeBody()
|
| /llvm-project-15.0.7/mlir/lib/Target/SPIRV/Deserialization/ |
| H A D | Deserializer.cpp | 1680 auto loopOp = builder.create<spirv::LoopOp>(location, control); in createLoopOp() local 1681 loopOp.addEntryAndMergeBlock(); in createLoopOp() 1683 return loopOp; in createLoopOp() 1705 if (auto loopOp = createLoopOp(control)) in structurize() local 1706 op = loopOp.getOperation(); in structurize()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Affine/Utils/ |
| H A D | LoopUtils.cpp | 2743 SmallVector<Operation *, 1> loopOp{loop.getOperation()}; in createFullTiles() local 2744 (void)getIndexSet(loopOp, &cst); in createFullTiles()
|