LLVM 23.0.0git
TargetParser.h File Reference
#include "SubtargetFeature.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Compiler.h"
#include "AMDGPUTargetParser.def"

Go to the source code of this file.

Classes

struct  llvm::AMDGPU::IsaVersion
 Instruction set architecture version. More...
struct  llvm::BasicSubtargetFeatureKV
struct  llvm::BasicSubtargetSubTypeKV
 Used to provide key value pairs for feature and CPU bit flags. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::AMDGPU

Macros

#define R600_GPU(NAME, ENUM, FEATURES)
#define AMDGCN_GPU(NAME, ENUM, ISAVERSION, FEATURES)
#define R600_GPU_ALIAS(NAME, ENUM)
#define AMDGCN_GPU_ALIAS(NAME, ENUM)

Enumerations

enum  llvm::AMDGPU::GPUKind : uint32_t { llvm::AMDGPU::GK_NONE = 0 , llvm::AMDGPU::GK_AMDGCN_GENERIC_FIRST = GK_GFX9_GENERIC , llvm::AMDGPU::GK_AMDGCN_GENERIC_LAST = GK_GFX12_5_GENERIC }
 GPU kinds supported by the AMDGPU target. More...
enum  llvm::AMDGPU::ArchFeatureKind : uint32_t {
  llvm::AMDGPU::FEATURE_NONE = 0 , llvm::AMDGPU::FEATURE_FMA = 1 << 1 , llvm::AMDGPU::FEATURE_LDEXP = 1 << 2 , llvm::AMDGPU::FEATURE_FP64 = 1 << 3 ,
  llvm::AMDGPU::FEATURE_FAST_FMA_F32 = 1 << 4 , llvm::AMDGPU::FEATURE_FAST_DENORMAL_F32 = 1 << 5 , llvm::AMDGPU::FEATURE_WAVE32 = 1 << 6 , llvm::AMDGPU::FEATURE_XNACK = 1 << 7 ,
  llvm::AMDGPU::FEATURE_SRAMECC = 1 << 8 , llvm::AMDGPU::FEATURE_WGP = 1 << 9 , llvm::AMDGPU::FEATURE_XNACK_ALWAYS = 1 << 10
}
enum  llvm::AMDGPU::FeatureError : uint32_t { llvm::AMDGPU::NO_ERROR = 0 , llvm::AMDGPU::INVALID_FEATURE_COMBINATION , llvm::AMDGPU::UNSUPPORTED_TARGET_FEATURE }

Functions

LLVM_ABI StringRef llvm::AMDGPU::getArchFamilyNameAMDGCN (GPUKind AK)
LLVM_ABI StringRef llvm::AMDGPU::getArchNameAMDGCN (GPUKind AK)
LLVM_ABI StringRef llvm::AMDGPU::getArchNameR600 (GPUKind AK)
LLVM_ABI StringRef llvm::AMDGPU::getCanonicalArchName (const Triple &T, StringRef Arch)
LLVM_ABI GPUKind llvm::AMDGPU::parseArchAMDGCN (StringRef CPU)
LLVM_ABI GPUKind llvm::AMDGPU::parseArchR600 (StringRef CPU)
LLVM_ABI unsigned llvm::AMDGPU::getArchAttrAMDGCN (GPUKind AK)
LLVM_ABI unsigned llvm::AMDGPU::getArchAttrR600 (GPUKind AK)
LLVM_ABI void llvm::AMDGPU::fillValidArchListAMDGCN (SmallVectorImpl< StringRef > &Values)
LLVM_ABI void llvm::AMDGPU::fillValidArchListR600 (SmallVectorImpl< StringRef > &Values)
LLVM_ABI IsaVersion llvm::AMDGPU::getIsaVersion (StringRef GPU)
LLVM_ABI std::pair< FeatureError, StringRefllvm::AMDGPU::fillAMDGPUFeatureMap (StringRef GPU, const Triple &T, StringMap< bool > &Features)
 Fills Features map with default values for given target GPU.
LLVM_ABI std::optional< llvm::StringMap< bool > > llvm::getCPUDefaultTargetFeatures (StringRef CPU, ArrayRef< BasicSubtargetSubTypeKV > ProcDesc, ArrayRef< BasicSubtargetFeatureKV > ProcFeatures)

Macro Definition Documentation

◆ AMDGCN_GPU

#define AMDGCN_GPU ( NAME,
ENUM,
ISAVERSION,
FEATURES )
Value:
#define ENUM(Name,...)
Definition ClauseT.h:60

Definition at line 43 of file TargetParser.h.

◆ AMDGCN_GPU_ALIAS

#define AMDGCN_GPU_ALIAS ( NAME,
ENUM )

Definition at line 100 of file TargetParser.h.

◆ R600_GPU

#define R600_GPU ( NAME,
ENUM,
FEATURES )
Value:

Definition at line 42 of file TargetParser.h.

◆ R600_GPU_ALIAS

#define R600_GPU_ALIAS ( NAME,
ENUM )

Definition at line 62 of file TargetParser.h.