Home
last modified time | relevance | path

Searched refs:ParallelOp (Results 1 – 25 of 35) sorted by relevance

12

/llvm-project-15.0.7/mlir/lib/Dialect/OpenACC/IR/
H A DOpenACC.cpp165 return isa<acc::ParallelOp>(op) || isa<acc::LoopOp>(op); in isComputeOperation()
250 if (failed(parseOperandList(parser, ParallelOp::getWaitKeyword(), in parse()
256 parser, ParallelOp::getNumGangsKeyword(), result); in parse()
262 parser, ParallelOp::getNumWorkersKeyword(), result); in parse()
268 parser, ParallelOp::getVectorLengthKeyword(), result); in parse()
359 if (failed(parseRegions<ParallelOp>(parser, result))) in parse()
363 ParallelOp::getOperandSegmentSizeAttr(), in parse()
394 void ParallelOp::print(OpAsmPrinter &printer) { in print()
415 printer << " " << ParallelOp::getVectorLengthKeyword() << "(" in print()
484 unsigned ParallelOp::getNumDataOperands() { in getNumDataOperands()
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/
H A DParallelLoopFusion.cpp26 static bool hasNestedParallelOp(ParallelOp ploop) { in hasNestedParallelOp()
28 ploop.getBody()->walk([](ParallelOp) { return WalkResult::interrupt(); }); in hasNestedParallelOp() argument
33 static bool equalIterationSpaces(ParallelOp firstPloop, in equalIterationSpaces()
34 ParallelOp secondPloop) { in equalIterationSpaces()
54 ParallelOp firstPloop, ParallelOp secondPloop, in haveNoReadsAfterWriteExceptSameIndex()
94 verifyDependencies(ParallelOp firstPloop, ParallelOp secondPloop, in verifyDependencies()
108 isFusionLegal(ParallelOp firstPloop, ParallelOp secondPloop, in isFusionLegal()
118 static void fuseIfLegal(ParallelOp firstPloop, ParallelOp secondPloop, in fuseIfLegal()
137 SmallVector<SmallVector<ParallelOp, 8>, 1> ploopChains{{}}; in naivelyFuseParallelOps()
143 if (auto ploop = dyn_cast<ParallelOp>(op)) { in naivelyFuseParallelOps()
[all …]
H A DParallelLoopTiling.cpp52 std::pair<ParallelOp, ParallelOp>
53 mlir::scf::tileParallelLoop(ParallelOp op, ArrayRef<int64_t> tileSizes, in tileParallelLoop()
76 auto outerLoop = b.create<ParallelOp>(op.getLoc(), op.getLowerBound(), in tileParallelLoop()
133 auto innerLoop = b.create<ParallelOp>( in tileParallelLoop()
199 SmallVector<ParallelOp, 2> innermostPloops; in runOnOperation()
201 for (ParallelOp ploop : innermostPloops) { in runOnOperation()
H A DLoopSpecialization.cpp31 using scf::ParallelOp;
37 static void specializeParallelLoopForUnrolling(ParallelOp op) { in specializeParallelLoopForUnrolling()
241 [](ParallelOp op) { specializeParallelLoopForUnrolling(op); }); in runOnOperation()
H A DParallelLoopCollapsing.cpp27 module->walk([&](scf::ParallelOp op) { in runOnOperation()
H A DLoopCanonicalization.cpp164 if (scf::ParallelOp parOp = scf::getParallelForInductionVarOwner(iv)) { in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/GPU/Transforms/
H A DParallelLoopMapper.cpp24 using scf::ParallelOp;
29 gpu::setMappingAttr(ParallelOp ploopOp, in setMappingAttr()
104 static void mapParallelOp(ParallelOp parallelOp, in mapParallelOp()
108 ((mappingLevel == MapGrid) && parallelOp->getParentOfType<ParallelOp>())) in mapParallelOp()
125 if (ParallelOp nested = dyn_cast<ParallelOp>(op)) in mapParallelOp()
135 region.walk([](ParallelOp parallelOp) { mapParallelOp(parallelOp); }); in runOnOperation()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/Transforms/
H A DTransforms.h39 class ParallelOp; variable
106 std::pair<ParallelOp, ParallelOp>
107 tileParallelLoop(ParallelOp op, llvm::ArrayRef<int64_t> tileSizes,
/llvm-project-15.0.7/mlir/lib/Conversion/SCFToGPU/
H A DSCFToGPU.cpp306 struct ParallelToGpuLaunchLowering : public OpRewritePattern<ParallelOp> {
307 using OpRewritePattern<ParallelOp>::OpRewritePattern;
309 LogicalResult matchAndRewrite(ParallelOp parallelOp,
398 ParallelOp parallelOp, gpu::LaunchOp launchOp, in processParallelLoop()
547 namedAttr.getName() == ParallelOp::getOperandSegmentSizeAttr()) in processParallelLoop()
589 ParallelToGpuLaunchLowering::matchAndRewrite(ParallelOp parallelOp, in matchAndRewrite()
596 if (auto parentLoop = parallelOp->getParentOfType<ParallelOp>()) in matchAndRewrite()
628 if (auto nestedParallel = dyn_cast<ParallelOp>(op)) { in matchAndRewrite()
676 target.addDynamicallyLegalOp<scf::ParallelOp>([](scf::ParallelOp parallelOp) { in configureParallelLoopToGPULegality()
683 op->walk([](scf::ParallelOp parallelOp) { in finalizeParallelLoopToGPUConversion()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/GPU/Transforms/
H A DParallelLoopMapper.h32 class ParallelOp; variable
45 LogicalResult setMappingAttr(scf::ParallelOp ploopOp,
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/IR/
H A DSCF.cpp2099 void ParallelOp::build( in build()
2109 ParallelOp::getOperandSegmentSizeAttr(), in build()
2132 void ParallelOp::build( in build()
2152 LogicalResult ParallelOp::verify() { in verify()
2262 ParallelOp::getOperandSegmentSizeAttr(), in parse()
2279 void ParallelOp::print(OpAsmPrinter &p) { in print()
2297 return ParallelOp(); in getParallelForInductionVarOwner()
2300 return dyn_cast<ParallelOp>(containingOp); in getParallelForInductionVarOwner()
2308 LogicalResult matchAndRewrite(ParallelOp op, in matchAndRewrite()
2390 LogicalResult matchAndRewrite(ParallelOp op, in matchAndRewrite()
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/Utils/
H A DUtils.h105 SmallVectorImpl<scf::ParallelOp> &result);
124 void collapseParallelLoops(scf::ParallelOp loops,
/llvm-project-15.0.7/mlir/lib/Conversion/SCFToControlFlow/
H A DSCFToControlFlow.cpp205 struct ParallelLowering : public OpRewritePattern<mlir::scf::ParallelOp> {
206 using OpRewritePattern<mlir::scf::ParallelOp>::OpRewritePattern;
208 LogicalResult matchAndRewrite(mlir::scf::ParallelOp parallelOp,
447 ParallelLowering::matchAndRewrite(ParallelOp parallelOp, in matchAndRewrite()
628 target.addIllegalOp<scf::ForOp, scf::IfOp, scf::ParallelOp, scf::WhileOp, in runOnOperation()
/llvm-project-15.0.7/mlir/lib/Conversion/OpenACCToLLVM/
H A DOpenACCToLLVM.cpp145 patterns.add<LegalizeDataOpForLLVMTranslation<acc::ParallelOp>>(converter); in populateOpenACCToLLVMConversionPatterns()
208 target.addDynamicallyLegalOp<acc::ParallelOp>( in runOnOperation()
209 [allDataOperandsAreConverted](acc::ParallelOp op) { in runOnOperation()
/llvm-project-15.0.7/mlir/lib/Conversion/SCFToOpenMP/
H A DSCFToOpenMP.cpp332 struct ParallelOpLowering : public OpRewritePattern<scf::ParallelOp> {
333 using OpRewritePattern<scf::ParallelOp>::OpRewritePattern;
335 LogicalResult matchAndRewrite(scf::ParallelOp parallelOp, in matchAndRewrite()
380 auto ompParallel = rewriter.create<omp::ParallelOp>(loc); in matchAndRewrite()
435 target.addIllegalOp<scf::ReduceOp, scf::ReduceReturnOp, scf::ParallelOp>(); in applyPatterns()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Async/
H A DTransforms.h29 std::function<Value(ImplicitLocOpBuilder, scf::ParallelOp)>;
/llvm-project-15.0.7/mlir/lib/Dialect/Async/Transforms/
H A DAsyncParallelFor.cpp110 struct AsyncParallelForRewrite : public OpRewritePattern<scf::ParallelOp> {
119 LogicalResult matchAndRewrite(scf::ParallelOp op,
212 getParallelComputeFunctionType(scf::ParallelOp op, PatternRewriter &rewriter) { in getParallelComputeFunctionType()
250 scf::ParallelOp op, const ParallelComputeFunctionBounds &bounds, in createParallelComputeFunction()
577 scf::ParallelOp op, Value blockSize, in doAsyncDispatch()
651 scf::ParallelOp op, Value blockSize, Value blockCount, in doSequentialDispatch()
716 AsyncParallelForRewrite::matchAndRewrite(scf::ParallelOp op, in matchAndRewrite()
931 [&](ImplicitLocOpBuilder builder, scf::ParallelOp op) { in runOnOperation()
/llvm-project-15.0.7/mlir/lib/Conversion/OpenMPToLLVM/
H A DOpenMPToLLVM.cpp99 target.addDynamicallyLegalOp<mlir::omp::CriticalOp, mlir::omp::ParallelOp, in configureOpenMPToLLVMConversionLegality()
124 RegionOpConversion<omp::MasterOp>, RegionOpConversion<omp::ParallelOp>, in populateOpenMPToLLVMConversionPatterns()
/llvm-project-15.0.7/mlir/lib/Conversion/AffineToStandard/
H A DAffineToStandard.cpp135 if (isa<scf::ParallelOp>(op->getParentOp())) { in matchAndRewrite()
202 scf::ParallelOp parOp; in matchAndRewrite()
205 parOp = rewriter.create<scf::ParallelOp>(loc, lowerBoundTuple, in matchAndRewrite()
231 parOp = rewriter.create<scf::ParallelOp>( in matchAndRewrite()
/llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/
H A DLoops.cpp173 .Case([&](scf::ParallelOp parallelOp) { in replaceIndexOpsByInductionVariables()
335 lowerLinalgToLoopsImpl<scf::ParallelOp>(getOperation()); in runOnOperation()
373 return linalgOpToLoopsImpl<scf::ParallelOp>(rewriter, linalgOp); in linalgOpToParallelLoops()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/IR/
H A DSCF.h51 ParallelOp getParallelForInductionVarOwner(Value val);
/llvm-project-15.0.7/mlir/lib/Dialect/OpenMP/IR/
H A DOpenMPDialect.cpp469 void ParallelOp::build(OpBuilder &builder, OperationState &state, in build()
471 ParallelOp::build( in build()
479 LogicalResult ParallelOp::verify() { in verify()
969 !isa<ParallelOp>(parentOp)) { in verify()
1015 !(isa<ParallelOp>(parentOp))) { in verify()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Affine/
H A DLoopUtils.h37 class ParallelOp; variable
/llvm-project-15.0.7/flang/lib/Lower/
H A DOpenACC.cpp352 static mlir::acc::ParallelOp
516 mlir::acc::ParallelOp parallelOp = in createParallelOp()
517 createRegionOp<mlir::acc::ParallelOp, mlir::acc::YieldOp>( in createParallelOp()
521 parallelOp->setAttr(mlir::acc::ParallelOp::getAsyncAttrName(), in createParallelOp()
524 parallelOp->setAttr(mlir::acc::ParallelOp::getWaitAttrName(), in createParallelOp()
527 parallelOp->setAttr(mlir::acc::ParallelOp::getSelfAttrName(), in createParallelOp()
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Utils/
H A DUtils.cpp267 SmallVectorImpl<scf::ParallelOp> &result) { in getInnermostParallelLoops()
275 if (auto ploop = dyn_cast<scf::ParallelOp>(op)) { in getInnermostParallelLoops()
669 scf::ParallelOp loops, ArrayRef<std::vector<unsigned>> combinedDimensions) { in collapseParallelLoops()
714 auto newPloop = outsideBuilder.create<scf::ParallelOp>( in collapseParallelLoops()

12