MLIR 23.0.0git
X86Utils.cpp File Reference
#include "mlir/Dialect/X86/Utils/X86Utils.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/Linalg/IR/LinalgInterfaces.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/Dialect/Vector/IR/VectorOps.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/IR/Types.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/Casting.h"
#include "llvm/ADT/ArrayRef.h"
#include <cassert>

Go to the source code of this file.

Classes

struct  mlir::x86::ShuffleMasks

Namespaces

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

Functions

static FailureOr< SmallVector< mlir::utils::IteratorType > > mlir::x86::inferIteratorsFromOutMap (AffineMap map)
bool mlir::x86::isInVnniLayout (Operation *op, llvm::ArrayRef< AffineMap > indexingMaps, std::optional< unsigned > blockingFactor=std::nullopt)
ShuffleMasks mlir::x86::getShuffleMasks (int64_t nonUnitDimAcc)
Operationmlir::x86::traceToVectorReadLikeParentOperation (Value v)
Operationmlir::x86::traceToVectorWriteLikeUserOperation (Value v)
LogicalResult mlir::x86::shuffleAfterReadLikeOp (PatternRewriter &rewriter, Operation *opA, Operation *opB, vector::ContractionOp contractA, vector::ContractionOp contractB, int64_t nonUnitDimAcc, VectorType accTy)
LogicalResult mlir::x86::shuffleBeforeWriteLikeOp (PatternRewriter &rewriter, Operation *opA, Operation *opB, int64_t nonUnitDimAcc, VectorType accTy)
bool mlir::x86::validatePairVectorContract (vector::ContractionOp contractOp, vector::ContractionOp pairContOp, bool rhsHasMultipleNonUnitDims, int64_t nonUnitDimValue)