MLIR 23.0.0git
mlir::xegpu::uArch::uArch Struct Referenceabstract

#include "mlir/Dialect/XeGPU/uArch/uArchBase.h"

Inheritance diagram for mlir::xegpu::uArch::uArch:

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 InstructiongetInstruction (InstructionKind instKind) const
bool isSupportedInstruction (InstructionKind instr) const

Protected Attributes

Kind kind
llvm::SmallDenseMap< InstructionKind, const Instruction *, 32 > instructionRegistry

Detailed Description

Definition at line 91 of file uArchBase.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Xe2_First 
PVC 
BMG 
Xe2_Last 
Xe3_First 
CRI 
Xe3_Last 

Definition at line 92 of file uArchBase.h.

Constructor & Destructor Documentation

◆ uArch()

mlir::xegpu::uArch::uArch::uArch ( Kind kind,
llvm::ArrayRef< const Instruction * > instructionRegistry )
inline

◆ ~uArch()

virtual mlir::xegpu::uArch::uArch::~uArch ( )
virtualdefault

Member Function Documentation

◆ getGeneralPackedFormatBitSize()

virtual unsigned mlir::xegpu::uArch::uArch::getGeneralPackedFormatBitSize ( ) const
pure virtual

◆ getInstruction()

const Instruction * mlir::xegpu::uArch::uArch::getInstruction ( InstructionKind instKind) const
inline

Definition at line 115 of file uArchBase.h.

References instructionRegistry.

Referenced by createScaleLayout().

◆ getKind()

Kind mlir::xegpu::uArch::uArch::getKind ( ) const
inline

◆ getSubgroupSize()

virtual int mlir::xegpu::uArch::uArch::getSubgroupSize ( ) const
pure virtual

◆ isSupportedInstruction()

bool mlir::xegpu::uArch::uArch::isSupportedInstruction ( InstructionKind instr) const
inline

Definition at line 122 of file uArchBase.h.

References instructionRegistry.

Member Data Documentation

◆ instructionRegistry

llvm::SmallDenseMap<InstructionKind, const Instruction *, 32> mlir::xegpu::uArch::uArch::instructionRegistry
protected

◆ kind

Kind mlir::xegpu::uArch::uArch::kind
protected

The documentation for this struct was generated from the following file: