/llvm-project/mlir/lib/Dialect/SCF/Transforms/ |
H A D | ForallToParallel.cpp | 43 auto parallelOp = rewriter.create<scf::ParallelOp>(loc, lbs, ubs, steps); in forallToParallelLoop() local 44 rewriter.eraseBlock(¶llelOp.getRegion().front()); in forallToParallelLoop() 45 rewriter.inlineRegionBefore(forallOp.getRegion(), parallelOp.getRegion(), in forallToParallelLoop() 46 parallelOp.getRegion().begin()); in forallToParallelLoop() 48 rewriter.setInsertionPointToEnd(¶llelOp.getRegion().front()); in forallToParallelLoop() 50 parallelOp.getRegion().front().getTerminator()); in forallToParallelLoop() 54 parallelOp->setAttr("mapping", *forallOp.getMapping()); in forallToParallelLoop() 57 rewriter.replaceOp(forallOp, parallelOp); in forallToParallelLoop() 60 *result = parallelOp; in forallToParallelLoop()
|
/llvm-project/mlir/lib/Dialect/GPU/Transforms/ |
H A D | ParallelLoopMapper.cpp | 110 static void mapParallelOp(ParallelOp parallelOp, in mapParallelOp() argument 113 if (parallelOp->getAttr(getMappingAttrName()) || in mapParallelOp() 114 ((mappingLevel == MapGrid) && parallelOp->getParentOfType<ParallelOp>())) in mapParallelOp() 117 MLIRContext *ctx = parallelOp.getContext(); in mapParallelOp() 120 attrs.reserve(parallelOp.getNumLoops()); in mapParallelOp() 121 for (int i = 0, e = parallelOp.getNumLoops(); i < e; ++i) { in mapParallelOp() 126 (void)setMappingAttr(parallelOp, attrs); in mapParallelOp() 130 for (Operation &op : *parallelOp.getBody()) { in mapParallelOp() 141 region.walk([](ParallelOp parallelOp) { mapParallelOp(parallelOp); }); in runOnOperation() argument
|
/llvm-project/mlir/lib/Conversion/SCFToGPU/ |
H A D | SCFToGPU.cpp | 45 // `!parallelOp->hasAttr(gpu::getMappingAttrName())` 307 LogicalResult matchAndRewrite(ParallelOp parallelOp, 403 ParallelOp parallelOp, gpu::LaunchOp launchOp, IRMapping &cloningMap, in processParallelLoop() argument 409 parallelOp->getAttrOfType<ArrayAttr>(gpu::getMappingAttrName()); in processParallelLoop() 412 if (!mapping || parallelOp.getNumResults() > 1) in processParallelLoop() 415 Location loc = parallelOp.getLoc(); in processParallelLoop() 432 mapping, parallelOp.getInductionVars(), parallelOp.getLowerBound(), in processParallelLoop() 433 parallelOp.getUpperBound(), parallelOp in processParallelLoop() 595 matchAndRewrite(ParallelOp parallelOp,PatternRewriter & rewriter) const matchAndRewrite() argument 682 __anon85948b560502(scf::ParallelOp parallelOp) configureParallelLoopToGPULegality() argument 689 __anon85948b560602(scf::ParallelOp parallelOp) finalizeParallelLoopToGPUConversion() argument [all...] |
/llvm-project/mlir/lib/Conversion/SCFToOpenMP/ |
H A D | SCFToOpenMP.cpp | 364 LogicalResult matchAndRewrite(scf::ParallelOp parallelOp, in matchAndRewrite() 371 auto reduce = cast<scf::ReduceOp>(parallelOp.getBody()->getTerminator()); in matchAndRewrite() 372 for (int64_t i = 0, e = parallelOp.getNumReductions(); i < e; ++i) { in matchAndRewrite() 383 Location loc = parallelOp.getLoc(); in matchAndRewrite() 387 reductionVariables.reserve(parallelOp.getNumReductions()); in matchAndRewrite() 388 auto ptrType = LLVM::LLVMPointerType::get(parallelOp.getContext()); in matchAndRewrite() 389 for (Value init : parallelOp.getInitVals()) { in matchAndRewrite() 414 Value pvtRedVar = parallelOp.getRegion().addArgument(x.getType(), loc); in matchAndRewrite() 467 auto wsloopOp = rewriter.create<omp::WsloopOp>(parallelOp.getLoc()); in matchAndRewrite() 490 parallelOp in matchAndRewrite() [all...] |
/llvm-project/mlir/lib/Conversion/SCFToControlFlow/ |
H A D | SCFToControlFlow.cpp | 215 LogicalResult matchAndRewrite(mlir::scf::ParallelOp parallelOp, 482 ParallelLowering::matchAndRewrite(ParallelOp parallelOp, in matchAndRewrite() 484 Location loc = parallelOp.getLoc(); in matchAndRewrite() 485 auto reductionOp = dyn_cast<ReduceOp>(parallelOp.getBody()->getTerminator()); in matchAndRewrite() 495 SmallVector<Value, 4> iterArgs = llvm::to_vector<4>(parallelOp.getInitVals()); in matchAndRewrite() 497 ivs.reserve(parallelOp.getNumLoops()); in matchAndRewrite() 501 llvm::zip(parallelOp.getInductionVars(), parallelOp.getLowerBound(), in matchAndRewrite() 502 parallelOp.getUpperBound(), parallelOp in matchAndRewrite() 472 matchAndRewrite(ParallelOp parallelOp,PatternRewriter & rewriter) const matchAndRewrite() argument [all...] |
/llvm-project/mlir/unittests/Dialect/SCF/ |
H A D | LoopLikeSCFOpsTest.cpp | 114 OwningOpRef<scf::ParallelOp> parallelOp = b.create<scf::ParallelOp>( in TEST_F() local 117 checkUnidimensional(parallelOp.get()); in TEST_F() 135 OwningOpRef<scf::ParallelOp> parallelOp = b.create<scf::ParallelOp>( in TEST_F() local 139 checkMultidimensional(parallelOp.get()); in TEST_F()
|
/llvm-project/mlir/lib/Dialect/Affine/Analysis/ |
H A D | AffineStructures.cpp | 121 AffineParallelOp parallelOp) { in addAffineParallelOpDomain() argument 123 for (Value iv : parallelOp.getIVs()) { in addAffineParallelOpDomain() 130 AffineMap lowerBound = parallelOp.getLowerBoundMap(ivPos); in addAffineParallelOpDomain() 134 parallelOp.getLowerBoundsOperands()))) in addAffineParallelOpDomain() 137 auto upperBound = parallelOp.getUpperBoundMap(ivPos); in addAffineParallelOpDomain() 141 parallelOp.getUpperBoundsOperands()))) in addAffineParallelOpDomain()
|
H A D | AffineAnalysis.cpp | 257 } else if (AffineParallelOp parallelOp = dyn_cast<AffineParallelOp>(op)) { in getIndexSet() local 258 loopOps.push_back(parallelOp); in getIndexSet() 259 numDims += parallelOp.getNumDims(); in getIndexSet() 273 } else if (auto parallelOp = dyn_cast<AffineParallelOp>(op)) in getIndexSet() local 274 if (failed(domain->addAffineParallelOpDomain(parallelOp))) in getIndexSet()
|
H A D | Utils.cpp | 1111 } else if (auto parallelOp = getAffineParallelInductionVarOwner(operand)) { in compute() local 1112 if (failed(cst.addAffineParallelOpDomain(parallelOp))) in compute()
|
/llvm-project/mlir/lib/Dialect/OpenACC/Transforms/ |
H A D | LegalizeData.cpp |
|
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/ |
H A D | Loops.cpp | 186 .Case([&](scf::ParallelOp parallelOp) { in replaceIndexOpsByInductionVariables() argument 187 allIvs.append(parallelOp.getInductionVars()); in replaceIndexOpsByInductionVariables()
|
/llvm-project/mlir/include/mlir/Dialect/Affine/Analysis/ |
H A D | AffineStructures.h | 72 LogicalResult addAffineParallelOpDomain(AffineParallelOp parallelOp);
|
/llvm-project/mlir/lib/Dialect/Affine/IR/ |
H A D | AffineOps.cpp | 2585 auto parallelOp = dyn_cast<AffineParallelOp>(containingOp); 2586 if (parallelOp && llvm::is_contained(parallelOp.getIVs(), val)) 2587 return parallelOp; in extractForInductionVars() 2607 else if (auto parallelOp = dyn_cast<AffineParallelOp>(op)) 2608 for (size_t i = 0; i < parallelOp.getBody()->getNumArguments(); i++) 2609 ivs.push_back(parallelOp.getBody()->getArgument(i)); 2579 auto parallelOp = dyn_cast<AffineParallelOp>(containingOp); getAffineParallelInductionVarOwner() local 2601 else if (auto parallelOp = dyn_cast<AffineParallelOp>(op)) extractInductionVars() local
|
/llvm-project/mlir/lib/Dialect/Affine/Utils/ |
H A D | Utils.cpp | 272 } else if (auto parallelOp = dyn_cast<AffineParallelOp>(parentOp)) { in getOutermostInvariantForOp() 273 for (auto iv : parallelOp.getIVs()) in getOutermostInvariantForOp() 268 } else if (auto parallelOp = dyn_cast<AffineParallelOp>(parentOp)) { getOutermostInvariantForOp() local
|
/llvm-project/flang/lib/Lower/OpenMP/ |
H A D | OpenMP.cpp | 1978 auto parallelOp = in genCompositeDoSimd() 1980 parallelOp.setComposite(isComposite); in genCompositeDoSimd() 1981 return parallelOp; in genCompositeDoSimd() 1443 auto parallelOp = llvm::cast<mlir::omp::ParallelOp>(op); genParallelOp() local
|