MLIR  20.0.0git
Namespaces | Macros | Functions
DecomposeMemRefs.cpp File Reference
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
#include "mlir/Dialect/GPU/Transforms/Passes.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Utils/IndexingUtils.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "mlir/Dialect/GPU/Transforms/Passes.h.inc"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 

Macros

#define GEN_PASS_DEF_GPUDECOMPOSEMEMREFSPASS
 

Functions

static MemRefType inferCastResultType (Value source, OpFoldResult offset)
 
static void setInsertionPointToStart (OpBuilder &builder, Value val)
 
static bool isInsideLaunch (Operation *op)
 
static std::tuple< Value, OpFoldResult, SmallVector< OpFoldResult > > getFlatOffsetAndStrides (OpBuilder &rewriter, Location loc, Value source, ArrayRef< OpFoldResult > subOffsets, ArrayRef< OpFoldResult > subStrides=std::nullopt)
 
static Value getFlatMemref (OpBuilder &rewriter, Location loc, Value source, ValueRange offsets)
 
static bool needFlatten (Value val)
 
static bool checkLayout (Value val)
 

Macro Definition Documentation

◆ GEN_PASS_DEF_GPUDECOMPOSEMEMREFSPASS

#define GEN_PASS_DEF_GPUDECOMPOSEMEMREFSPASS

Definition at line 26 of file DecomposeMemRefs.cpp.

Function Documentation

◆ checkLayout()

static bool checkLayout ( Value  val)
static

Definition at line 122 of file DecomposeMemRefs.cpp.

References mlir::Value::getType().

◆ getFlatMemref()

static Value getFlatMemref ( OpBuilder rewriter,
Location  loc,
Value  source,
ValueRange  offsets 
)
static

◆ getFlatOffsetAndStrides()

static std::tuple<Value, OpFoldResult, SmallVector<OpFoldResult> > getFlatOffsetAndStrides ( OpBuilder rewriter,
Location  loc,
Value  source,
ArrayRef< OpFoldResult subOffsets,
ArrayRef< OpFoldResult subStrides = std::nullopt 
)
static

◆ inferCastResultType()

static MemRefType inferCastResultType ( Value  source,
OpFoldResult  offset 
)
static

◆ isInsideLaunch()

static bool isInsideLaunch ( Operation op)
static

Definition at line 51 of file DecomposeMemRefs.cpp.

References mlir::Operation::getParentOfType().

◆ needFlatten()

static bool needFlatten ( Value  val)
static

Definition at line 117 of file DecomposeMemRefs.cpp.

References mlir::Value::getType().

◆ setInsertionPointToStart()

static void setInsertionPointToStart ( OpBuilder builder,
Value  val 
)
static