|
| LogicalResult | mlir::scf::forallToForLoop (RewriterBase &rewriter, ForallOp forallOp, SmallVectorImpl< Operation * > *results=nullptr) |
| | Try converting scf.forall into a set of nested scf.for loops.
|
| LogicalResult | mlir::scf::forallToParallelLoop (RewriterBase &rewriter, ForallOp forallOp, ParallelOp *result=nullptr) |
| | Try converting scf.forall into an scf.parallel loop.
|
| FailureOr< scf::LoopNest > | mlir::scf::parallelForToNestedFors (RewriterBase &rewriter, ParallelOp parallelOp) |
| | Try converting scf.forall into an scf.parallel loop.
|
| void | mlir::scf::naivelyFuseParallelOps (Region ®ion, llvm::function_ref< bool(Value, Value)> mayAlias) |
| | Fuses all adjacent scf.parallel operations with identical bounds and step into one scf.parallel operations.
|
| LogicalResult | mlir::scf::peelForLoopAndSimplifyBounds (RewriterBase &rewriter, ForOp forOp, scf::ForOp &partialIteration) |
| | Rewrite a for loop with bounds/step that potentially do not divide evenly into a for loop where the step divides the iteration space evenly, followed by another scf.for for the last (partial) iteration (if any; returned via partialIteration).
|
| LogicalResult | mlir::scf::peelForLoopFirstIteration (RewriterBase &rewriter, ForOp forOp, scf::ForOp &partialIteration) |
| | Peel the first iteration out of the scf.for loop.
|
| std::pair< ParallelOp, ParallelOp > | mlir::scf::tileParallelLoop (ParallelOp op, llvm::ArrayRef< int64_t > tileSizes, bool noMinMaxBounds) |
| | Tile a parallel loop of the form scf.parallel (i0, i1) = (arg0, arg1) to (arg2, arg3) step (arg4, arg5)
|
| FailureOr< ForOp > | mlir::scf::pipelineForLoop (RewriterBase &rewriter, ForOp forOp, const PipeliningOption &options, bool *modifiedIR=nullptr) |
| | Generate a pipelined version of the scf.for loop based on the schedule given as option.
|
| FailureOr< WhileOp > | mlir::scf::wrapWhileLoopInZeroTripCheck (WhileOp whileOp, RewriterBase &rewriter, bool forceCreateCheck=false) |
| | Create zero-trip-check around a while op and return the new loop op in the check.
|
| FailureOr< ForOp > | mlir::scf::upliftWhileToForLoop (RewriterBase &rewriter, WhileOp loop) |
| | Try to uplift scf.while op to scf.for.
|