MLIR 22.0.0git
Hoisting.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "linalg-hoisting"
#define DBGS()

Functions

static scf::ForOp replaceWithDifferentYield (RewriterBase &rewriter, scf::ForOp loop, Value newInitOperand, unsigned index, Value newYieldValue)
 Replace loop with a new loop that has a different init operand at position index.
static bool noAliasingUseInLoop (vector::TransferReadOp transferRead, LoopLikeOpInterface loop)

Macro Definition Documentation

◆ DBGS

◆ DEBUG_TYPE

#define DEBUG_TYPE   "linalg-hoisting"

Definition at line 30 of file Hoisting.cpp.

Function Documentation

◆ noAliasingUseInLoop()

bool noAliasingUseInLoop ( vector::TransferReadOp transferRead,
LoopLikeOpInterface loop )
static

◆ replaceWithDifferentYield()

scf::ForOp replaceWithDifferentYield ( RewriterBase & rewriter,
scf::ForOp loop,
Value newInitOperand,
unsigned index,
Value newYieldValue )
static

Replace loop with a new loop that has a different init operand at position index.

The body of this loop is moved over to the new loop.

newInitOperands specifies the replacement "init" operands. newYieldValue is the replacement yield value of the loop at position index.

Definition at line 43 of file Hoisting.cpp.

References mlir::RewriterBase::mergeBlocks(), mlir::RewriterBase::replaceOp(), and mlir::OpBuilder::setInsertionPoint().

Referenced by mlir::linalg::hoistRedundantVectorBroadcasts().