|
MLIR 24.0.0git
|
#include "mlir/Dialect/Arith/IR/Arith.h"#include "mlir/Dialect/MemRef/IR/MemRef.h"#include "mlir/Dialect/SCF/IR/SCF.h"#include "mlir/Dialect/Utils/StaticValueUtils.h"#include "mlir/Dialect/Vector/IR/VectorOps.h"#include "mlir/Dialect/X86/Transforms.h"#include "mlir/IR/PatternMatch.h"#include "llvm/ADT/SmallVectorExtras.h"#include "llvm/Support/DebugLog.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "x86-prepare-vector-contract-loops" |
Functions | |
| static vector::ContractionOp | getCandidate (scf::ForOp loop) |
| static Value | skipReshapes (Value v) |
| static std::optional< std::pair< Value, int64_t > > | matchSplit (Value v, int64_t factor) |
| static std::optional< SmallVector< Value, 4 > > | matchJoin (Value v, int64_t factor) |
| static Value | matchUnpackedRhs (Value rhs, int64_t factor) |
| static bool | isSimpleReadOutsideLoop (vector::TransferReadOp read, scf::ForOp loop) |
| static std::optional< ExpandedRead > | getExpandableRead (vector::TransferReadOp read, unsigned factor, scf::ForOp loop) |
| static Value | buildExpandedRead (PatternRewriter &rewriter, Location loc, ExpandedRead &info, VectorType resultType) |
| #define DEBUG_TYPE "x86-prepare-vector-contract-loops" |
Definition at line 19 of file PrepareVectorContractLoops.cpp.
|
static |
Definition at line 386 of file PrepareVectorContractLoops.cpp.
References mlir::arith::ConstantIndexOp::create(), mlir::Builder::getBoolArrayAttr(), mlir::Builder::getIndexAttr(), indices, and mlir::OpBuilder::setInsertionPoint().
|
static |
Definition at line 23 of file PrepareVectorContractLoops.cpp.
References contract(), mlir::AffineMap::get(), and mlir::getAffineDimExpr().
|
static |
Definition at line 338 of file PrepareVectorContractLoops.cpp.
References mlir::getConstantIntValue(), and isSimpleReadOutsideLoop().
|
static |
Definition at line 317 of file PrepareVectorContractLoops.cpp.
Referenced by getExpandableRead().
|
static |
Definition at line 181 of file PrepareVectorContractLoops.cpp.
References mlir::extractFromIntegerArrayAttr(), mlir::Value::getDefiningOp(), matchJoin(), skipReshapes(), and slice().
Referenced by matchJoin(), and matchUnpackedRhs().
Definition at line 104 of file PrepareVectorContractLoops.cpp.
References mlir::Value::getDefiningOp(), mlir::Value::getType(), matchSplit(), and skipReshapes().
Referenced by matchSplit(), and matchUnpackedRhs().
Definition at line 269 of file PrepareVectorContractLoops.cpp.
References mlir::Value::getDefiningOp(), matchJoin(), matchSplit(), and skipReshapes().
Definition at line 64 of file PrepareVectorContractLoops.cpp.
References mlir::Value::getDefiningOp(), mlir::Operation::getOperand(), and mlir::Value::getType().
Referenced by matchJoin(), matchSplit(), and matchUnpackedRhs().