Lines Matching refs:parallelOp
364 LogicalResult matchAndRewrite(scf::ParallelOp parallelOp,
371 auto reduce = cast<scf::ReduceOp>(parallelOp.getBody()->getTerminator());
372 for (int64_t i = 0, e = parallelOp.getNumReductions(); i < e; ++i) {
383 Location loc = parallelOp.getLoc();
387 reductionVariables.reserve(parallelOp.getNumReductions());
388 auto ptrType = LLVM::LLVMPointerType::get(parallelOp.getContext());
389 for (Value init : parallelOp.getInitVals()) {
414 Value pvtRedVar = parallelOp.getRegion().addArgument(x.getType(), loc);
467 auto wsloopOp = rewriter.create<omp::WsloopOp>(parallelOp.getLoc());
490 parallelOp.getLoc()));
494 parallelOp.getLoc(), parallelOp.getLowerBound(),
495 parallelOp.getUpperBound(), parallelOp.getStep());
497 rewriter.inlineRegionBefore(parallelOp.getRegion(), loopOp.getRegion(),
503 unsigned numLoops = parallelOp.getNumLoops();
514 auto scope = rewriter.create<memref::AllocaScopeOp>(parallelOp.getLoc(),
528 llvm::zip(reductionVariables, parallelOp.getResultTypes())) {
532 rewriter.replaceOp(parallelOp, results);