MLIR  17.0.0git
Classes | Namespaces | Functions
Transforms.h File Reference
#include "mlir/Dialect/SCF/Utils/AffineCanonicalizationUtils.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
+ Include dependency graph for Transforms.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  mlir::scf::PipeliningOption
 Options to dictate how loops should be pipelined. More...


 Include the generated interface declarations.


void mlir::scf::naivelyFuseParallelOps (Region &region)
 Fuses all adjacent scf.parallel operations with identical bounds and step into one scf.parallel operations. More...
LogicalResult mlir::scf::peelAndCanonicalizeForLoop (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...
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...
void mlir::scf::populateSCFStructuralTypeConversionsAndLegality (TypeConverter &typeConverter, RewritePatternSet &patterns, ConversionTarget &target)
 Populates patterns for SCF structural type conversions and sets up the provided ConversionTarget with the appropriate legality configuration for the ops to get converted properly. More...
void mlir::scf::populateSCFLoopPipeliningPatterns (RewritePatternSet &patterns, const PipeliningOption &options)
 Populate patterns for SCF software pipelining transformation. More...
void mlir::scf::populateSCFForLoopCanonicalizationPatterns (RewritePatternSet &patterns)
 Populate patterns for canonicalizing operations inside SCF loop bodies. More...