|
MLIR 24.0.0git
|
#include "mlir/Dialect/XeGPU/uArch/uArchBase.h"
Public Types | |
| enum class | Kind { Xe2_First , PVC = Xe2_First , BMG , Xe2_Last = BMG , Xe3p_First , CRI = Xe3p_First , Xe3p_Last = CRI } |
Public Member Functions | |
| uArch (Kind kind, llvm::ArrayRef< const Instruction * > instructionRegistry) | |
| virtual | ~uArch ()=default |
| Kind | getKind () const |
| virtual int | getSubgroupSize () const =0 |
| virtual unsigned | getGeneralPackedFormatBitSize () const =0 |
| virtual const BlockIOMemoryRestrictions & | getBlockIOMemoryRestrictions () const =0 |
| const Instruction * | getInstruction (InstructionKind instKind) const |
| bool | isSupportedInstruction (InstructionKind instr) const |
Protected Attributes | |
| Kind | kind |
| llvm::SmallDenseMap< InstructionKind, const Instruction *, 32 > | instructionRegistry |
Definition at line 117 of file uArchBase.h.
|
strong |
| Enumerator | |
|---|---|
| Xe2_First | |
| PVC | |
| BMG | |
| Xe2_Last | |
| Xe3p_First | |
| CRI | |
| Xe3p_Last | |
Definition at line 118 of file uArchBase.h.
|
inline |
Definition at line 131 of file uArchBase.h.
References instructionRegistry, and kind.
Referenced by mlir::xegpu::uArch::Xe2::classof(), mlir::xegpu::uArch::Xe3p::classof(), mlir::xegpu::uArch::Xe2::Xe2(), and mlir::xegpu::uArch::Xe3p::Xe3p().
|
virtualdefault |
|
pure virtual |
Implemented in mlir::xegpu::uArch::Xe2, and mlir::xegpu::uArch::Xe3p.
|
pure virtual |
Implemented in mlir::xegpu::uArch::Xe2, and mlir::xegpu::uArch::Xe3p.
|
inline |
Definition at line 146 of file uArchBase.h.
References instructionRegistry.
Referenced by createScaleLayout().
|
inline |
Definition at line 137 of file uArchBase.h.
References kind.
Referenced by mlir::xegpu::uArch::BMGuArch::classof(), mlir::xegpu::uArch::PVCuArch::classof(), and mlir::xegpu::uArch::Xe2::classof().
|
pure virtual |
Implemented in mlir::xegpu::uArch::Xe2, and mlir::xegpu::uArch::Xe3p.
Referenced by adjustInnermostDimForDivisibility().
|
inline |
Definition at line 153 of file uArchBase.h.
References instructionRegistry.
|
protected |
Definition at line 160 of file uArchBase.h.
Referenced by getInstruction(), isSupportedInstruction(), uArch(), mlir::xegpu::uArch::Xe2::Xe2(), and mlir::xegpu::uArch::Xe3p::Xe3p().
|
protected |
Definition at line 158 of file uArchBase.h.
Referenced by getKind(), uArch(), mlir::xegpu::uArch::Xe2::Xe2(), and mlir::xegpu::uArch::Xe3p::Xe3p().