|
LLVM 24.0.0git
|
#include "llvm/TargetParser/AMDGPUTargetParser.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringSwitch.h"#include "llvm/ADT/Twine.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/raw_ostream.h"#include "llvm/TargetParser/Triple.h"#include "llvm/TargetParser/AMDGPUTargetParser.def"Go to the source code of this file.
Macros | |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | R600_GPU(NAME, ENUM, FEATURES) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | AMDGCN_GPU_ALIAS(NAME, ENUM) |
| #define | R600_GPU(NAME, ENUM, FEATURES) |
| #define | R600_GPU_ALIAS(NAME, ENUM) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | R600_GPU(NAME, ENUM, FEATURES) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | AMDGCN_GPU_ALIAS(NAME, ENUM) |
| #define | R600_GPU(NAME, ENUM, FEATURES) |
| #define | R600_GPU_ALIAS(NAME, ENUM) |
| #define | MAKE_ISAVERSION(A, B, C) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
| #define | MAKE_ISAVERSION(A, B, C) |
| #define | AMDGCN_GPU(NAME, ENUM, SUBARCH, ISAVERSION, FEATURES) |
Functions | |
| static std::pair< FeatureError, StringRef > | insertWaveSizeFeature (StringRef GPU, const Triple &T, const StringMap< bool > &DefaultFeatures, StringMap< bool > &Features) |
| static void | fillAMDGCNFeatureMap (StringRef GPU, const Triple &T, StringMap< bool > &Features) |
| Fills Features map with default values for given target GPU. | |
| 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) |
Variables | |
| static const Triple::SubArchType | AMDGPUMajorFamilies [Triple::LastAMDGPUSubArch - Triple::FirstAMDGPUSubArch+1] |
| static const StringLiteral | AMDGPUSubArchNames [Triple::LastAMDGPUSubArch - Triple::FirstAMDGPUSubArch+1] |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define AMDGCN_GPU | ( | NAME, | |
| ENUM, | |||
| SUBARCH, | |||
| ISAVERSION, | |||
| FEATURES ) |
| #define R600_GPU | ( | NAME, | |
| ENUM, | |||
| FEATURES ) |
| #define R600_GPU_ALIAS | ( | NAME, | |
| ENUM ) |
|
static |
Definition at line 1047 of file AMDGPUTargetParser.cpp.
References llvm::StringRef::consume_front(), E(), llvm::AMDGPU::FEATURE_SRAMECC, llvm::AMDGPU::FEATURE_XNACK_ON_OFF_MODES, llvm::AMDGPU::getArchAttrAMDGCN(), getTargetIDSettingFromFeatureString(), I, llvm::StringRef::split(), SramEccSetting, and XnackSetting.
Referenced by llvm::AMDGPU::TargetID::parse(), and llvm::AMDGPU::TargetID::TargetID().
|
static |
Definition at line 1186 of file AMDGPUTargetParser.cpp.
Referenced by llvm::AMDGPU::TargetID::providesFor().
Fills Features map with default values for given target GPU.
Features contains overriding target features and this function returns default target features with entries overridden by Features.
Definition at line 488 of file AMDGPUTargetParser.cpp.
References llvm::StringRef::empty(), llvm::AMDGPU::getGPUKindFromSubArch(), llvm::AMDGPU::GK_NONE, llvm_unreachable, llvm::Triple::NoSubArch, llvm::AMDGPU::parseArchAMDGCN(), and T.
Referenced by llvm::AMDGPU::fillAMDGPUFeatureMap().
Definition at line 1035 of file AMDGPUTargetParser.cpp.
References llvm::StringRef::empty(), llvm::AMDGPU::getGPUKindFromSubArch(), llvm::AMDGPU::parseArchAMDGCN(), and llvm::StringRef::split().
Referenced by llvm::AMDGPU::TargetID::parse(), and llvm::AMDGPU::TargetID::TargetID().
|
static |
Definition at line 1024 of file AMDGPUTargetParser.cpp.
Referenced by computeTargetIDFeatures().
|
static |
Definition at line 427 of file AMDGPUTargetParser.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::count(), llvm::StringRef::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::StringMap< ValueTy, AllocatorTy >::insert(), llvm::AMDGPU::INVALID_FEATURE_COMBINATION, llvm::AMDGPU::NO_ERROR, llvm::Triple::NoSubArch, T, and llvm::AMDGPU::UNSUPPORTED_TARGET_FEATURE.
Referenced by llvm::AMDGPU::fillAMDGPUFeatureMap().
|
static |
Definition at line 1141 of file AMDGPUTargetParser.cpp.
Referenced by llvm::AMDGPU::TargetID::print(), and llvm::AMDGPU::TargetID::printCanonicalTargetIDString().
|
static |
Definition at line 61 of file AMDGPUTargetParser.cpp.
Referenced by llvm::AMDGPU::getMajorSubArch().
|
static |
Definition at line 200 of file AMDGPUTargetParser.cpp.
Referenced by llvm::Triple::getArchName(), and llvm::AMDGPU::getArchNameFromSubArch().