MLIR 23.0.0git
uArchBase.h File Reference
#include <cassert>
#include <optional>
#include <tuple>
#include <utility>
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/IR/Types.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/DebugLog.h"
#include "llvm/Support/ErrorHandling.h"

Go to the source code of this file.

Classes

struct  mlir::xegpu::uArch::Instruction
struct  mlir::xegpu::uArch::uArch
struct  mlir::xegpu::uArch::MMAInstructionInterface
struct  mlir::xegpu::uArch::BlockIOInstructionInterface
struct  mlir::xegpu::uArch::ScatterIoInstructionInterface< Kind >
struct  mlir::xegpu::uArch::LoadGatherInstruction
struct  mlir::xegpu::uArch::StoreScatterInstruction
struct  mlir::xegpu::uArch::Subgroup2DBlockStoreInstruction
struct  mlir::xegpu::uArch::Subgroup2DBlockLoadInstruction
struct  mlir::xegpu::uArch::Subgroup2DBlockPrefetchInstruction
struct  mlir::xegpu::uArch::SubgroupMatrixMultiplyAcc
struct  mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::xegpu
namespace  mlir::xegpu::uArch
namespace  mlir::xegpu::uArch::util

Enumerations

enum class  mlir::xegpu::uArch::InstructionScope { mlir::xegpu::uArch::Lane , mlir::xegpu::uArch::Subgroup , mlir::xegpu::uArch::Workgroup , mlir::xegpu::uArch::Cluster }
enum class  mlir::xegpu::uArch::InstructionKind {
  mlir::xegpu::uArch::SubgroupMatrixMultiplyAcc , mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc , mlir::xegpu::uArch::Subgroup2DBlockStore , mlir::xegpu::uArch::Subgroup2DBlockLoad ,
  mlir::xegpu::uArch::Subgroup2DBlockPrefetch , mlir::xegpu::uArch::StoreScatter , mlir::xegpu::uArch::LoadGather
}
enum class  mlir::xegpu::uArch::MMAOpndKind { mlir::xegpu::uArch::MatrixA , mlir::xegpu::uArch::MatrixB , mlir::xegpu::uArch::MatrixC , mlir::xegpu::uArch::MatrixD }

Functions

llvm::SmallVector< std::pair< uint32_t, uint32_t >, 16 > mlir::xegpu::uArch::util::crossProduct (const llvm::SmallVector< uint32_t, 8 > &a, const llvm::SmallVector< uint32_t, 8 > &b)