Lines Matching refs:forOp
37 ForOp forOp; member
86 forOp = op; in initializeLoopInfo()
88 forOp.getUpperBound().getDefiningOp<arith::ConstantIndexOp>(); in initializeLoopInfo()
90 forOp.getLowerBound().getDefiningOp<arith::ConstantIndexOp>(); in initializeLoopInfo()
91 auto stepCst = forOp.getStep().getDefiningOp<arith::ConstantIndexOp>(); in initializeLoopInfo()
103 options.getScheduleFn(forOp, schedule); in initializeLoopInfo()
117 if (forOp in initializeLoopInfo()
119 if (op != forOp.getOperation() && !isa<scf::YieldOp>(op) && in initializeLoopInfo()
130 if (llvm::any_of(forOp.getBody()->getTerminator()->getOperands(), in initializeLoopInfo()
142 for (BlockArgument &arg : forOp.getRegionIterArgs()) { in emitPrologue()
143 OpOperand &operand = forOp.getOpOperandForRegionIterArg(arg); in emitPrologue()
146 auto yield = cast<scf::YieldOp>(forOp.getBody()->getTerminator()); in emitPrologue()
150 rewriter.create<arith::ConstantIndexOp>(forOp.getLoc(), lb + i * step); in emitPrologue()
151 setValueMapping(forOp.getInductionVar(), iv, i); in emitPrologue()
171 setValueMapping(forOp.getRegionIterArgs()[operand.getOperandNumber()], in emitPrologue()
213 llvm::enumerate(forOp.getBody()->getTerminator()->getOperands())) { in createKernelLoop()
217 Value valueVersion = valueMapping[forOp.getRegionIterArgs()[retVal.index()]] in createKernelLoop()
239 Value newUb = forOp.getUpperBound(); in createKernelLoop()
241 newUb = rewriter.create<arith::ConstantIndexOp>(forOp.getLoc(), in createKernelLoop()
244 rewriter.create<scf::ForOp>(forOp.getLoc(), forOp.getLowerBound(), newUb, in createKernelLoop()
245 forOp.getStep(), newLoopArg); in createKernelLoop()
261 mapping.map(forOp.getInductionVar(), newForOp.getInductionVar()); in createKernel()
262 for (const auto &arg : llvm::enumerate(forOp.getRegionIterArgs())) { in createKernel()
283 if (operand.get() == forOp.getInductionVar()) { in createKernel()
286 forOp.getLoc(), (maxStage - stages[op]) * step); in createKernel()
288 forOp.getLoc(), newForOp.getInductionVar(), offset); in createKernel()
294 if (arg && arg.getOwner() == forOp.getBody()) { in createKernel()
297 Value ret = forOp.getBody()->getTerminator()->getOperand( in createKernel()
342 for (Value retVal : forOp.getBody()->getTerminator()->getOperands()) { in createKernel()
364 llvm::enumerate(forOp.getBody()->getTerminator()->getOperands())) { in createKernel()
368 setValueMapping(forOp.getRegionIterArgs()[retVal.index()], in createKernel()
372 rewriter.create<scf::YieldOp>(forOp.getLoc(), yieldOperands); in createKernel()
377 llvm::SmallVector<Value> returnValues(forOp->getNumResults()); in emitEpilogue()
382 forOp.getLoc(), lb + step * ((((ub - 1) - lb) / step) - i)); in emitEpilogue()
383 setValueMapping(forOp.getInductionVar(), newlastIter, maxStage - i); in emitEpilogue()
409 forOp.getBody()->getTerminator()->getOpOperands()) { in emitEpilogue()
419 setValueMapping(forOp.getRegionIterArgs()[operand.getOperandNumber()], in emitEpilogue()
443 ForOp forOp, PatternRewriter &rewriter) const { in returningMatchAndRewrite() argument
446 if (!pipeliner.initializeLoopInfo(forOp, options)) in returningMatchAndRewrite()
471 newForOp.getResults().take_front(forOp->getNumResults()); in returningMatchAndRewrite()
478 if (forOp->getNumResults() > 0) in returningMatchAndRewrite()
479 rewriter.replaceOp(forOp, returnValues); in returningMatchAndRewrite()
481 rewriter.eraseOp(forOp); in returningMatchAndRewrite()