MLIR 24.0.0git
OpenACCUtilsLoop.h File Reference

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::acc

Functions

std::pair< llvm::SmallVector< Value >, Block::iteratormlir::acc::cloneACCRegionInto (Region *src, Block *dest, Block::iterator inlinePoint, IRMapping &mapping, ValueRange resultsToReplace)
 Clone an ACC region into a destination block at the given insertion point.
scf::ExecuteRegionOp mlir::acc::wrapMultiBlockRegionWithSCFExecuteRegion (Region &region, IRMapping &mapping, Location loc, RewriterBase &rewriter)
 Wrap a multi-block region in an scf.execute_region.
scf::ForOp mlir::acc::convertACCLoopToSCFFor (LoopOp loopOp, RewriterBase &rewriter, bool enableCollapse)
 Convert a structured acc.loop to scf.for.
scf::ParallelOp mlir::acc::convertACCLoopToSCFParallel (LoopOp loopOp, RewriterBase &rewriter)
 Convert acc.loop to scf.parallel.
scf::ExecuteRegionOp mlir::acc::convertUnstructuredACCLoopToSCFExecuteRegion (LoopOp loopOp, RewriterBase &rewriter)
 Convert an unstructured acc.loop to scf.execute_region.
Value mlir::acc::calculateTripCount (OpBuilder &b, Location loc, Value lb, Value ub, Value step, bool inclusiveUpperbound)
 Calculate trip count for a loop: (ub - lb + step) / step.
void mlir::acc::normalizeIVUses (OpBuilder &b, Location loc, Value iv, Value origLB, Value origStep)
 Normalize IV uses after converting to normalized loop form (lb=0, step=1).
void mlir::acc::setCollapseCountAttr (Operation *op, uint64_t count)
 Record on a collapsed loop how many original loops were folded into it.
uint64_t mlir::acc::getCollapseCount (Operation *op)
 Number of original loops collapsed into op, or 1 when op carries no collapse_count attribute.