|
MLIR 23.0.0git
|
#include "mlir/Dialect/XeGPU/uArch/uArchBase.h"
Public Types | |
| enum class | Kind { Xe2_First , PVC = Xe2_First , BMG , Xe2_Last = BMG , Xe3_First , CRI = Xe3_First , Xe3_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 |
| 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 91 of file uArchBase.h.
|
strong |
| Enumerator | |
|---|---|
| Xe2_First | |
| PVC | |
| BMG | |
| Xe2_Last | |
| Xe3_First | |
| CRI | |
| Xe3_Last | |
Definition at line 92 of file uArchBase.h.
|
inline |
Definition at line 104 of file uArchBase.h.
References instructionRegistry, and kind.
Referenced by mlir::xegpu::uArch::Xe2::classof(), mlir::xegpu::uArch::Xe3::classof(), mlir::xegpu::uArch::Xe2::Xe2(), and mlir::xegpu::uArch::Xe3::Xe3().
|
virtualdefault |
|
pure virtual |
Implemented in mlir::xegpu::uArch::Xe2, and mlir::xegpu::uArch::Xe3.
|
inline |
Definition at line 115 of file uArchBase.h.
References instructionRegistry.
Referenced by createScaleLayout().
|
inline |
Definition at line 110 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::Xe3.
Referenced by adjustInnermostDimForDivisibility().
|
inline |
Definition at line 122 of file uArchBase.h.
References instructionRegistry.
|
protected |
Definition at line 129 of file uArchBase.h.
Referenced by getInstruction(), isSupportedInstruction(), uArch(), mlir::xegpu::uArch::Xe2::Xe2(), and mlir::xegpu::uArch::Xe3::Xe3().
|
protected |
Definition at line 127 of file uArchBase.h.
Referenced by getKind(), uArch(), mlir::xegpu::uArch::Xe2::Xe2(), and mlir::xegpu::uArch::Xe3::Xe3().