Home
last modified time | relevance | path

Searched refs:parallelOp (Results 1 – 15 of 15) sorted by relevance

/llvm-project/mlir/lib/Dialect/SCF/Transforms/
H A DForallToParallel.cpp43 auto parallelOp = rewriter.create<scf::ParallelOp>(loc, lbs, ubs, steps); in forallToParallelLoop() local
44 rewriter.eraseBlock(&parallelOp.getRegion().front()); in forallToParallelLoop()
45 rewriter.inlineRegionBefore(forallOp.getRegion(), parallelOp.getRegion(), in forallToParallelLoop()
46 parallelOp.getRegion().begin()); in forallToParallelLoop()
48 rewriter.setInsertionPointToEnd(&parallelOp.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 DParallelLoopMapper.cpp110 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 DSCFToGPU.cpp45 // `!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 DSCFToOpenMP.cpp364 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 DSCFToControlFlow.cpp215 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 DLoopLikeSCFOpsTest.cpp114 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 DAffineStructures.cpp121 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 DAffineAnalysis.cpp257 } 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 DUtils.cpp1111 } 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 DLegalizeData.cpp
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/
H A DLoops.cpp186 .Case([&](scf::ParallelOp parallelOp) { in replaceIndexOpsByInductionVariables() argument
187 allIvs.append(parallelOp.getInductionVars()); in replaceIndexOpsByInductionVariables()
/llvm-project/mlir/include/mlir/Dialect/Affine/Analysis/
H A DAffineStructures.h72 LogicalResult addAffineParallelOpDomain(AffineParallelOp parallelOp);
/llvm-project/mlir/lib/Dialect/Affine/IR/
H A DAffineOps.cpp2585 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 DUtils.cpp272 } 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 DOpenMP.cpp1978 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