|
LogicalResult | mlir::scf::forallToForLoop (RewriterBase &rewriter, ForallOp forallOp, SmallVectorImpl< Operation * > *results=nullptr) |
| Try converting scf.forall into a set of nested scf.for loops. More...
|
|
LogicalResult | mlir::scf::forallToParallelLoop (RewriterBase &rewriter, ForallOp forallOp, ParallelOp *result=nullptr) |
| Try converting scf.forall into an scf.parallel loop. More...
|
|
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. More...
|
|
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 ). More...
|
|
LogicalResult | mlir::scf::peelForLoopFirstIteration (RewriterBase &rewriter, ForOp forOp, scf::ForOp &partialIteration) |
| Peel the first iteration out of the scf.for loop. More...
|
|
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) More...
|
|
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. More...
|
|
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. More...
|
|
FailureOr< ForOp > | mlir::scf::upliftWhileToForLoop (RewriterBase &rewriter, WhileOp loop) |
| Try to uplift scf.while op to scf.for . More...
|
|