|
MLIR 23.0.0git
|
#include "mlir/Dialect/Affine/Utils.h"#include "mlir/Dialect/Arith/Utils/Utils.h"#include "mlir/Dialect/GPU/IR/GPUDialect.h"#include "mlir/Dialect/LLVMIR/XeVMDialect.h"#include "mlir/Dialect/Utils/IndexingUtils.h"#include "mlir/Dialect/XeGPU/IR/XeGPU.h"#include "mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h"#include "mlir/IR/Builders.h"#include "mlir/IR/DialectImplementation.h"#include "llvm/ADT/SmallVectorExtras.h"#include "llvm/ADT/TypeSwitch.h"#include "llvm/Support/Debug.h"#include <mlir/Dialect/XeGPU/IR/XeGPUTypes.cpp.inc>#include <mlir/Dialect/XeGPU/IR/XeGPU.cpp.inc>#include <mlir/Dialect/XeGPU/IR/XeGPUAttrs.cpp.inc>#include "mlir/Dialect/XeGPU/IR/XeGPUOpInterface.cpp.inc"#include <mlir/Dialect/XeGPU/IR/XeGPUDialect.cpp.inc>Go to the source code of this file.
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
| namespace | mlir::xegpu |
Macros | |
| #define | GET_TYPEDEF_LIST |
| #define | GET_OP_LIST |
| #define | GET_ATTRDEF_LIST |
| #define | GET_OP_INTERFACE_CLASSES |
| #define | div(a, b) |
| #define | rem(a, b) |
| #define | mul(a, b) |
| #define | add(a, b) |
| #define | GET_ATTRDEF_CLASSES |
| #define | GET_TYPEDEF_CLASSES |
Functions | |
| static SmallVector< SmallVector< Value > > | mlir::xegpu::genCoordinates (OpBuilder &builder, Location loc, SmallVector< Value > delinearizedId, ArrayRef< int64_t > subShapesLayout, ArrayRef< int64_t > subShape, ArrayRef< int64_t > srcShape) |
| static SmallVector< SmallVector< int64_t > > | mlir::xegpu::genStaticCoordinates (llvm::ArrayRef< int64_t > canonicalIds, llvm::ArrayRef< int64_t > layout, llvm::ArrayRef< int64_t > subShape, llvm::ArrayRef< int64_t > shape) |
| static SmallVector< SmallVector< int64_t > > | mlir::xegpu::expandBlockCoords (ArrayRef< SmallVector< int64_t > > blockStarts, ArrayRef< int64_t > subShape) |
| Expands per-distribution-unit block-start coordinates into the full list of element coordinates each block covers: every element of the subShape-sized region (row-major) offset by the block start. | |
| static bool | mlir::xegpu::compareDistributedCoords (xegpu::DistributeLayoutAttr self, const xegpu::DistributeLayoutAttr &other, ArrayRef< int64_t > shape, xegpu::LayoutKind level, int64_t size) |
| Returns true if self and other distribute shape identically at level: every id in [0, size) owns the same coordinates under both. | |
| static SmallVector< int64_t > | mlir::xegpu::mapSlicedDimsToParentSpace (const SmallVector< int64_t > &dimsToMap, ArrayRef< int64_t > sliceDims) |
| SmallVector< int64_t > | mlir::xegpu::getPermForParentLayout (ArrayRef< int64_t > sliceDims, ArrayRef< int64_t > permutation) |
| template<typename ArithOp> | |
| OpFoldResult | mlir::xegpu::genBinOp (OpFoldResult a, OpFoldResult b, Location loc, OpBuilder &builder) |
| SmallVector< OpFoldResult > | mlir::xegpu::getBlockedOffsets (OpBuilder &builder, Location loc, ArrayRef< OpFoldResult > offsets, ArrayRef< int64_t > blockShape) |
| #define add | ( | a, | |
| b ) |
Definition at line 1767 of file XeGPUDialect.cpp.
Referenced by mlir::sparse_tensor::ir_detail::VarSet::add(), convertAcoshOp(), convertAsinhOp(), convertAtanhOp(), convertCeilOp(), convertCtlzOp(), convertFmaFOp(), convertRoundOp(), mlir::math::createMathExpandOpsPass(), genInsertionStore(), mlir::sparse_tensor::genMapBuffers(), isPairTemplateImpl(), mlir::sparse_tensor::Merger::optimizeSet(), mlir::linalg::rewriteInIm2Col(), mlir::linalg::rewriteInIm2Col(), and mlir::linalg::rewriteInIm2Col().
| #define div | ( | a, | |
| b ) |
Definition at line 1755 of file XeGPUDialect.cpp.
Referenced by convertAtanhOp(), convertPowfOp(), convertTanOp(), mlir::xegpu::getBlockedOffsets(), getLargestKnownDivisor(), isQTimesDPlusR(), mlir::presburger::MultiAffineFunction::mergeDivs(), mlir::ConstantIntDivisibility::operator<<, and mlir::operator<<().
| #define GET_ATTRDEF_CLASSES |
Definition at line 1893 of file XeGPUDialect.cpp.
| #define GET_ATTRDEF_LIST |
| #define GET_OP_INTERFACE_CLASSES |
Definition at line 41 of file XeGPUDialect.cpp.
| #define GET_OP_LIST |
| #define GET_TYPEDEF_CLASSES |
Definition at line 1895 of file XeGPUDialect.cpp.
| #define GET_TYPEDEF_LIST |
| #define mul | ( | a, | |
| b ) |
Definition at line 1763 of file XeGPUDialect.cpp.
Referenced by allocBuffer(), mlir::memref::impl::ExpandStridedMetadataPassBase< DerivedT >::clonePass(), foldDivMul(), mlir::sparse_tensor::genMapBuffers(), mlir::tensor::getCollapsedExtractSliceInfo(), mlir::vector::getConstantVscaleMultiplier(), getProductOfIndexes(), isPairTemplateImpl(), mlir::sparse_tensor::reshapeCvs(), mlir::linalg::rewriteInIm2Col(), mlir::linalg::rewriteInIm2Col(), and mlir::linalg::rewriteInIm2Col().
| #define rem | ( | a, | |
| b ) |
Definition at line 1759 of file XeGPUDialect.cpp.
Referenced by mlir::detail::allocAligned(), mlir::sparse_tensor::SparseIterator::genWhileCond(), mlir::xegpu::getBlockedOffsets(), isQTimesDPlusR(), mlir::presburger::round(), and simplifyExprAndOperands().