LLVM 24.0.0git
AMDGPUTargetParser.cpp File Reference
#include "llvm/TargetParser/AMDGPUTargetParser.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Bitset.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringTable.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <array>
#include <cassert>
#include "llvm/TargetParser/AMDGPUTargetParserDef.inc"
#include "llvm/TargetParser/R600TargetParserDef.inc"

Go to the source code of this file.

Macros

#define GET_AMDGPU_FEATURE_ENUM
#define GET_AMDGPU_NAME_TABLE
#define GET_AMDGPU_GPU_TABLE
#define GET_AMDGPU_GPU_ALIAS_TABLE
#define GET_AMDGPU_MAJOR_SUBARCH
#define GET_AMDGPU_SUBARCH_NAME
#define GET_AMDGPU_FEATURE_NAME_TABLE
#define GET_R600_NAME_TABLE
#define GET_R600_GPU_TABLE
#define GET_R600_GPU_ALIAS_TABLE

Functions

static void addGPUFeatures (const GPUInfo &Info, bool Overwrite, StringMap< bool > &Features)
static std::pair< FeatureError, StringReffillAMDGCNFeatureMap (StringRef GPU, const Triple &T, StringMap< bool > &Features)
 Add a GPU's default features to Features (preserving user overrides) and validate any requested wavesize.
static TargetIDSetting getTargetIDSettingFromFeatureString (StringRef Sign)
static GPUKind getGPUKindFromTargetID (const Triple &TT, StringRef TargetIDStr)
static bool computeTargetIDFeatures (GPUKind Arch, StringRef TargetIDStr, TargetIDSetting &XnackSetting, TargetIDSetting &SramEccSetting)
static void printFeatureModifiers (raw_ostream &OS, TargetIDSetting SramEcc, TargetIDSetting Xnack)
static bool featureProvidesFor (TargetIDSetting Provided, TargetIDSetting Requested)

Macro Definition Documentation

◆ GET_AMDGPU_FEATURE_ENUM

#define GET_AMDGPU_FEATURE_ENUM

Definition at line 34 of file AMDGPUTargetParser.cpp.

◆ GET_AMDGPU_FEATURE_NAME_TABLE

#define GET_AMDGPU_FEATURE_NAME_TABLE

Definition at line 67 of file AMDGPUTargetParser.cpp.

◆ GET_AMDGPU_GPU_ALIAS_TABLE

#define GET_AMDGPU_GPU_ALIAS_TABLE

Definition at line 64 of file AMDGPUTargetParser.cpp.

◆ GET_AMDGPU_GPU_TABLE

#define GET_AMDGPU_GPU_TABLE

Definition at line 63 of file AMDGPUTargetParser.cpp.

◆ GET_AMDGPU_MAJOR_SUBARCH

#define GET_AMDGPU_MAJOR_SUBARCH

Definition at line 65 of file AMDGPUTargetParser.cpp.

◆ GET_AMDGPU_NAME_TABLE

#define GET_AMDGPU_NAME_TABLE

Definition at line 62 of file AMDGPUTargetParser.cpp.

◆ GET_AMDGPU_SUBARCH_NAME

#define GET_AMDGPU_SUBARCH_NAME

Definition at line 66 of file AMDGPUTargetParser.cpp.

◆ GET_R600_GPU_ALIAS_TABLE

#define GET_R600_GPU_ALIAS_TABLE

Definition at line 72 of file AMDGPUTargetParser.cpp.

◆ GET_R600_GPU_TABLE

#define GET_R600_GPU_TABLE

Definition at line 71 of file AMDGPUTargetParser.cpp.

◆ GET_R600_NAME_TABLE

#define GET_R600_NAME_TABLE

Definition at line 70 of file AMDGPUTargetParser.cpp.

Function Documentation

◆ addGPUFeatures()

void addGPUFeatures ( const GPUInfo & Info,
bool Overwrite,
StringMap< bool > & Features )
static

◆ computeTargetIDFeatures()

◆ featureProvidesFor()

bool featureProvidesFor ( TargetIDSetting Provided,
TargetIDSetting Requested )
static

Definition at line 732 of file AMDGPUTargetParser.cpp.

Referenced by llvm::AMDGPU::TargetID::providesFor().

◆ fillAMDGCNFeatureMap()

◆ getGPUKindFromTargetID()

◆ getTargetIDSettingFromFeatureString()

TargetIDSetting getTargetIDSettingFromFeatureString ( StringRef Sign)
static

Definition at line 570 of file AMDGPUTargetParser.cpp.

Referenced by computeTargetIDFeatures().

◆ printFeatureModifiers()

void printFeatureModifiers ( raw_ostream & OS,
TargetIDSetting SramEcc,
TargetIDSetting Xnack )
static