MLIR
20.0.0git
|
#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) |
#define GEN_PASS_DEF_GPUDECOMPOSEMEMREFSPASS |
Definition at line 26 of file DecomposeMemRefs.cpp.
|
static |
Definition at line 122 of file DecomposeMemRefs.cpp.
References mlir::Value::getType().
|
static |
Definition at line 107 of file DecomposeMemRefs.cpp.
References mlir::OpBuilder::create(), mlir::getAsOpFoldResult(), getFlatOffsetAndStrides(), and inferCastResultType().
|
static |
Definition at line 56 of file DecomposeMemRefs.cpp.
References mlir::computeLinearIndex(), mlir::OpBuilder::create(), mlir::Builder::getAffineSymbolExpr(), mlir::getAsOpFoldResult(), mlir::Builder::getIndexAttr(), mlir::getStridesAndOffset(), mlir::Value::getType(), mlir::affine::makeComposedFoldedAffineApply(), and setInsertionPointToStart().
Referenced by getFlatMemref().
|
static |
Definition at line 32 of file DecomposeMemRefs.cpp.
References mlir::dispatchIndexOpFoldResults(), mlir::get(), mlir::Value::getContext(), and mlir::Value::getType().
Referenced by getFlatMemref().
|
static |
Definition at line 51 of file DecomposeMemRefs.cpp.
References mlir::Operation::getParentOfType().
|
static |
Definition at line 117 of file DecomposeMemRefs.cpp.
References mlir::Value::getType().
Definition at line 43 of file DecomposeMemRefs.cpp.
References mlir::Value::getDefiningOp(), mlir::Value::getParentBlock(), mlir::OpBuilder::setInsertionPointAfter(), and mlir::OpBuilder::setInsertionPointToStart().
Referenced by getFlatOffsetAndStrides().