9#ifndef LLVM_TARGETPARSER_NVPTXTARGETPARSER_H
10#define LLVM_TARGETPARSER_NVPTXTARGETPARSER_H
22#define NVPTX_GPU(NAME, KIND, VIRTUAL, SM_ID, MIN_VER, MAX_VER, SUFFIX) \
24#include "llvm/TargetParser/NVPTXTargetParser.def"
Represent a constant reference to a string, i.e.
LLVM_ABI GPUKind parseArch(StringRef CPU)
Parse CPU (e.g. "sm_90") into a GPUKind, or GK_NONE if unrecognized.
GPUKind
GPU kinds supported by the NVPTX target.
LLVM_ABI unsigned getSmVersion(GPUKind Kind)
Return the numeric compute-capability id (e.g.
ArchSuffix
Suffix class of an NVPTX architecture name.
bool isAcceleratedArch(GPUKind Kind)
Whether Kind is an accelerated variant (e.g. sm_90a).
LLVM_ABI StringRef getVirtualArch(GPUKind Kind)
Return the virtual (compute_) arch name (e.g.
LLVM_ABI StringRef getArchName(GPUKind Kind)
Return the canonical processor name (e.g.
bool isFamilySpecificArch(GPUKind Kind)
Whether Kind is a family-specific variant (e.g. sm_90f) or accelerated.
bool supportsUnifiedAddressing(GPUKind Kind)
Whether Kind supports unified addressing.
LLVM_ABI ArchSuffix getArchSuffix(GPUKind Kind)
Return the suffix class of Kind.
This is an optimization pass for GlobalISel generic memory operations.