|
MLIR 23.0.0git
|
Namespaces | |
| namespace | avx2 |
| Helpers extracted from: | |
Classes | |
| struct | MaskHelper |
| Helper class to factor out the creation and extraction of masks from nibs. More... | |
| struct | ShuffleMasks |
|
inline |
Definition at line 119 of file X86VectorUtils.cpp.
Referenced by shuffleAfterReadLikeOp(), and shuffleBeforeWriteLikeOp().
|
static |
Definition at line 29 of file X86VectorUtils.cpp.
References mlir::AffineMap::getNumDims(), mlir::AffineMap::getResults(), and mlir::AffineMap::isProjectedPermutation().
Referenced by isInVnniLayout().
| bool mlir::x86vector::isInVnniLayout | ( | Operation * | op, |
| llvm::ArrayRef< AffineMap > | indexingMaps, | ||
| std::optional< unsigned > | blockingFactor = std::nullopt ) |
Definition at line 42 of file X86VectorUtils.cpp.
References mlir::Operation::getOperand(), mlir::AffineMap::getResult(), mlir::linalg::inferContractionDims(), and inferIteratorsFromOutMap().
Referenced by VectorContractBF16ToFMA::matchAndRewrite().
| void mlir::x86vector::populateShuffleVectorFMAOpsPatterns | ( | RewritePatternSet & | patterns | ) |
Definition at line 183 of file ShuffleVectorFMAOps.cpp.
References mlir::patterns.
| void mlir::x86vector::populateSinkVectorProducerOpsPatterns | ( | RewritePatternSet & | patterns | ) |
Definition at line 144 of file SinkVectorProducerOps.cpp.
References mlir::patterns.
| void mlir::x86vector::populateVectorContractBF16ToFMAPatterns | ( | RewritePatternSet & | patterns | ) |
Definition at line 507 of file VectorContractBF16ToFMA.cpp.
References mlir::patterns.
| void mlir::x86vector::populateVectorContractToFMAPatterns | ( | RewritePatternSet & | patterns | ) |
Definition at line 140 of file VectorContractToFMA.cpp.
References mlir::patterns.
| void mlir::x86vector::populateVectorContractToPackedTypeDotProductPatterns | ( | RewritePatternSet & | patterns | ) |
Definition at line 418 of file VectorContractToPackedTypeDotProduct.cpp.
References mlir::patterns.
| void mlir::x86vector::registerTransformDialectExtension | ( | DialectRegistry & | registry | ) |
Definition at line 76 of file X86VectorTransformOps.cpp.
References mlir::DialectRegistry::addExtensions().
Referenced by mlir::registerAllExtensions().
| LogicalResult mlir::x86vector::shuffleAfterReadLikeOp | ( | PatternRewriter & | rewriter, |
| Operation * | opA, | ||
| Operation * | opB, | ||
| vector::ContractionOp | contractA, | ||
| vector::ContractionOp | contractB, | ||
| int64_t | nonUnitDimAcc, | ||
| VectorType | accTy ) |
Definition at line 234 of file X86VectorUtils.cpp.
References mlir::Operation::getLoc(), mlir::Operation::getResult(), getShuffleMasks(), mlir::Operation::isBeforeInBlock(), mlir::RewriterBase::replaceUsesWithIf(), mlir::OpBuilder::setInsertionPointAfter(), and success().
Referenced by VectorContractBF16ToFMA::matchAndRewrite().
| LogicalResult mlir::x86vector::shuffleBeforeWriteLikeOp | ( | PatternRewriter & | rewriter, |
| Operation * | opA, | ||
| Operation * | opB, | ||
| int64_t | nonUnitDimAcc, | ||
| VectorType | accTy ) |
Definition at line 283 of file X86VectorUtils.cpp.
References mlir::Operation::getLoc(), getShuffleMasks(), mlir::Operation::isBeforeInBlock(), mlir::OpBuilder::setInsertionPoint(), mlir::Operation::setOperand(), and success().
Referenced by VectorContractBF16ToFMA::matchAndRewrite().
Definition at line 146 of file X86VectorUtils.cpp.
References mlir::Value::getDefiningOp().
Referenced by VectorContractBF16ToFMA::matchAndRewrite().
Definition at line 186 of file X86VectorUtils.cpp.
References mlir::Value::getNumUses(), mlir::Operation::getParentOp(), mlir::Operation::getResult(), mlir::Operation::getResults(), mlir::Value::getUses(), and traceToVectorWriteLikeUserOperation().
Referenced by VectorContractBF16ToFMA::matchAndRewrite(), and traceToVectorWriteLikeUserOperation().
| bool mlir::x86vector::validatePairVectorContract | ( | vector::ContractionOp | contractOp, |
| vector::ContractionOp | pairContOp, | ||
| bool | rhsHasMultipleNonUnitDims, | ||
| int64_t | nonUnitDimValue ) |
Definition at line 340 of file X86VectorUtils.cpp.
References mlir::getConstantIntValue(), and mlir::Value::getDefiningOp().
Referenced by VectorContractBF16ToFMA::matchAndRewrite().