class AMDGPUTargetInfo
Declaration
class AMDGPUTargetInfo : public TargetInfo { /* full declaration omitted */ };
Description
Exposes information about the current target.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:27
Inherits from: TargetInfo
Member Variables
- private llvm::AMDGPU::GPUKind GPUKind
- private unsigned int GPUFeatures
- private unsigned int WavefrontSize
- private llvm::StringMap<bool> OffloadArchFeatures
- Target ID is device name followed by optional feature name postfixed by plus or minus sign delimitted by colon, e.g. gfx908:xnack+:sramecc-. If the target ID contains feature+, map it to true. If the target ID contains feature-, map it to false. If the target ID does not contain a feature (default), do not map it.
- private std::string TargetID
- private static const Builtin::Info[] BuiltinInfo
- private static const char* const[] GCCRegNames
- private static const clang::LangASMap AMDGPUDefIsGenMap
- private static const clang::LangASMap AMDGPUDefIsPrivMap
Inherited from TargetInfo:
- protected BigEndian
- protected TLSSupported
- protected VLASupported
- protected NoAsmVariants
- protected HasLegalHalfType
- protected HasFloat128
- protected HasFloat16
- protected HasBFloat16
- protected HasIbm128
- protected HasLongDouble
- protected HasFPReturn
- protected HasStrictFP
- protected MaxAtomicPromoteWidth
- protected MaxAtomicInlineWidth
- protected SimdDefaultAlign
- protected DataLayoutString
- protected UserLabelPrefix
- protected MCountName
- protected RegParmMax
- protected SSERegParmMax
- protected TheCXXABI
- protected AddrSpaceMap
- protected ProgramAddrSpace
- protected PlatformName
- protected PlatformMinVersion
- protected HasAlignMac68kSupport
- protected RealTypeUsesObjCFPRetMask
- protected ComplexLongDoubleUsesFP2Ret
- protected HasBuiltinMSVaList
- protected IsRenderScriptTarget
- protected HasAArch64SVETypes
- protected HasRISCVVTypes
- protected AllowAMDGPUUnsafeFPAtomics
- protected ARMCDECoprocMask
- protected MaxOpenCLWorkGroupSize
- protected MaxBitIntWidth
- protected DarwinTargetVariantTriple
- protected UseAddrSpaceMapMangling
Inherited from TransferrableTargetInfo:
- public PointerWidth
- public PointerAlign
- public BoolWidth
- public BoolAlign
- public IntWidth
- public IntAlign
- public HalfWidth
- public HalfAlign
- public BFloat16Width
- public BFloat16Align
- public FloatWidth
- public FloatAlign
- public DoubleWidth
- public DoubleAlign
- public LongDoubleWidth
- public LongDoubleAlign
- public Float128Align
- public Ibm128Align
- public LargeArrayMinWidth
- public LargeArrayAlign
- public LongWidth
- public LongAlign
- public LongLongWidth
- public LongLongAlign
- public ShortAccumWidth
- public ShortAccumAlign
- public AccumWidth
- public AccumAlign
- public LongAccumWidth
- public LongAccumAlign
- public ShortFractWidth
- public ShortFractAlign
- public FractWidth
- public FractAlign
- public LongFractWidth
- public LongFractAlign
- public PaddingOnUnsignedFixedPoint
- public ShortAccumScale
- public AccumScale
- public LongAccumScale
- public DefaultAlignForAttributeAligned
- public MinGlobalAlign
- public SuitableAlign
- public NewAlign
- public MaxVectorAlign
- public MaxTLSAlign
- public HalfFormat
- public BFloat16Format
- public FloatFormat
- public DoubleFormat
- public LongDoubleFormat
- public Float128Format
- public Ibm128Format
- protected SizeType
- protected IntMaxType
- protected PtrDiffType
- protected IntPtrType
- protected WCharType
- protected WIntType
- protected Char16Type
- protected Char32Type
- protected Int64Type
- protected Int16Type
- protected SigAtomicType
- protected ProcessIDType
- protected UseSignedCharForObjCBool
- protected UseBitFieldTypeAlignment
- protected UseZeroLengthBitfieldAlignment
- protected UseLeadingZeroLengthBitfield
- protected UseExplicitBitFieldAlignment
- protected ZeroLengthBitfieldBoundary
- protected MaxAlignedAttribute
Method Overview
- public AMDGPUTargetInfo(const llvm::Triple & Triple, const clang::TargetOptions & Opts)
- public void adjust(clang::DiagnosticsEngine & Diags, clang::LangOptions & Opts)
- public clang::TargetInfo::CallingConvCheckResult checkCallingConvention(clang::CallingConv CC) const
- public std::string convertConstraint(const char *& Constraint) const
- public void fillValidCPUList(SmallVectorImpl<llvm::StringRef> & Values) const
- public clang::TargetInfo::BuiltinVaListKind getBuiltinVaListKind() const
- public clang::LangAS getCUDABuiltinAddressSpace(unsigned int AS) const
- public const char * getClobbers() const
- public llvm::Optional<LangAS> getConstantAddressSpace() const
- public Optional<unsigned int> getDWARFAddressSpace(unsigned int AddressSpace) const
- public ArrayRef<TargetInfo::GCCRegAlias> getGCCRegAliases() const
- public ArrayRef<const char *> getGCCRegNames() const
- public const llvm::omp::GV & getGridValue() const
- public uint64_t getMaxPointerWidth() const
- public uint64_t getNullPointerValue(clang::LangAS AS) const
- public clang::LangAS getOpenCLBuiltinAddressSpace(unsigned int AS) const
- public clang::LangAS getOpenCLTypeAddrSpace(clang::OpenCLTypeKind TK) const
- public uint64_t getPointerAlignV(unsigned int AddrSpace) const
- public uint64_t getPointerWidthV(unsigned int AddrSpace) const
- public ArrayRef<Builtin::Info> getTargetBuiltins() const
- public void getTargetDefines(const clang::LangOptions & Opts, clang::MacroBuilder & Builder) const
- public Optional<std::string> getTargetID() const
- public unsigned int getVtblPtrAddressSpace() const
- public bool handleTargetFeatures(std::vector<std::string> & Features, clang::DiagnosticsEngine & Diags)
- public bool hasBitIntType() const
- private bool hasFMAF() const
- private bool hasFP64() const
- private bool hasFastFMA() const
- private bool hasFastFMAF() const
- private bool hasFullRateDenormalsF32() const
- private bool hasLDEXPF() const
- public bool initFeatureMap(llvm::StringMap<bool> & Features, clang::DiagnosticsEngine & Diags, llvm::StringRef CPU, const std::vector<std::string> & FeatureVec) const
- private static bool isAMDGCN(const llvm::Triple & TT)
- private static bool isR600(const llvm::Triple & TT)
- public bool isValidCPUName(llvm::StringRef Name) const
- public void setAddressSpaceMap(bool DefaultIsPrivate)
- public void setAuxTarget(const clang::TargetInfo * Aux)
- public bool setCPU(const std::string & Name)
- public void setSupportedOpenCLOpts()
- public bool useFP16ConversionIntrinsics() const
- public bool validateAsmConstraint(const char *& Name, TargetInfo::ConstraintInfo & Info) const
Inherited from TargetInfo:
- public CPUSpecificManglingCharacter
- public CreateTargetInfo
- public adjust
- public adjustTargetOptions
- public allowAMDGPUUnsafeFPAtomics
- public allowDebugInfoForExternalRef
- public allowsLargerPreferedTypeAlignment
- public checkArithmeticFenceSupported
- public checkCFProtectionBranchSupported
- public checkCFProtectionReturnSupported
- public checkCallingConvention
- public convertConstraint
- protected copyAuxTarget
- public defaultsToAIXPowerAlignment
- public doUnsignedFixedPointTypesHavePadding
- public fillValidCPUList
- public fillValidTuneCPUList
- public getABI
- public getARMCDECoprocMask
- public getAccumAlign
- public getAccumIBits
- public getAccumScale
- public getAccumWidth
- public getAddressSpaceMap
- public getBFloat16Align
- public getBFloat16Format
- public getBFloat16Mangling
- public getBFloat16Width
- public getBoolAlign
- public getBoolWidth
- public getBuiltinVaListKind
- public getCPUCacheLineSize
- public getCPUSpecificCPUDispatchFeatures
- public getCPUSpecificTuneName
- public getCUDABuiltinAddressSpace
- public getCXXABI
- public getCallingConvKind
- public getChar16Align
- public getChar16Type
- public getChar16Width
- public getChar32Align
- public getChar32Type
- public getChar32Width
- public getCharAlign
- public getCharWidth
- public getClobbers
- public getConstantAddressSpace
- public getConstraintRegister
- public getCorrespondingUnsignedType
- public getDWARFAddressSpace
- public getDarwinTargetVariantSDKVersion
- public getDarwinTargetVariantTriple
- public getDataLayoutString
- public getDefaultAlignForAttributeAligned
- public getDefaultCallingConv
- public getDoubleAlign
- public getDoubleFormat
- public getDoubleWidth
- public getEHDataRegisterNumber
- public getExnObjectAlignment
- public getFPEvalMethod
- public getFloat128Align
- public getFloat128Format
- public getFloat128Mangling
- public getFloat128Width
- public getFloatAlign
- public getFloatFormat
- public getFloatWidth
- public getFractAlign
- public getFractScale
- public getFractWidth
- protected getGCCAddlRegNames
- protected getGCCRegAliases
- protected getGCCRegNames
- public getGridValue
- public getHalfAlign
- public getHalfFormat
- public getHalfWidth
- public getIbm128Align
- public getIbm128Format
- public getIbm128Mangling
- public getIbm128Width
- public getInt16Type
- public getInt64Type
- public getIntAlign
- public getIntMaxTWidth
- public getIntMaxType
- public getIntPtrType
- public getIntTypeByWidth
- public getIntWidth
- public getLargeArrayAlign
- public getLargeArrayMinWidth
- public getLeastIntTypeByWidth
- public getLongAccumAlign
- public getLongAccumIBits
- public getLongAccumScale
- public getLongAccumWidth
- public getLongAlign
- public getLongDoubleAlign
- public getLongDoubleFormat
- public getLongDoubleMangling
- public getLongDoubleWidth
- public getLongFractAlign
- public getLongFractScale
- public getLongFractWidth
- public getLongLongAlign
- public getLongLongWidth
- public getLongWidth
- public getMCountName
- public getMaxAlignedAttribute
- public getMaxAtomicInlineWidth
- public getMaxAtomicPromoteWidth
- public getMaxBitIntWidth
- public getMaxOpenCLWorkGroupSize
- public getMaxPointerWidth
- public getMaxTLSAlign
- public getMaxVectorAlign
- public getMinGlobalAlign
- public getNewAlign
- public getNormalizedGCCRegisterName
- public getNullPointerValue
- public getOpenCLBuiltinAddressSpace
- public getOpenCLTypeAddrSpace
- public getPlatformMinVersion
- public getPlatformName
- public getPointerAlign
- protected getPointerAlignV
- public getPointerWidth
- protected getPointerWidthV
- public getProcessIDType
- public getProgramAddressSpace
- public getPtrDiffType
- protected getPtrDiffTypeV
- public getRealTypeByWidth
- public getRegParmMax
- public getRegisterWidth
- public getSDKVersion
- public getShortAccumAlign
- public getShortAccumIBits
- public getShortAccumScale
- public getShortAccumWidth
- public getShortAlign
- public getShortFractAlign
- public getShortFractScale
- public getShortFractWidth
- public getShortWidth
- public getSigAtomicType
- public getSignedSizeType
- public getSimdDefaultAlign
- public getSizeType
- public getStaticInitSectionSpecifier
- public getSuitableAlign
- public getSupportedOpenCLOpts
- public getSupportedOpenCLOpts
- public getTargetBuiltins
- public getTargetDefines
- public getTargetID
- public getTargetOpts
- public getTriple
- public getTypeAlign
- public getTypeConstantSuffix
- public getTypeFormatModifier
- public getTypeName
- public getTypeWidth
- public getUInt16Type
- public getUInt64Type
- public getUIntMaxType
- public getUIntPtrType
- public getUnsignedAccumIBits
- public getUnsignedAccumScale
- public getUnsignedFractScale
- public getUnsignedLongAccumIBits
- public getUnsignedLongAccumScale
- public getUnsignedLongFractScale
- public getUnsignedPtrDiffType
- public getUnsignedShortAccumIBits
- public getUnsignedShortAccumScale
- public getUnsignedShortFractScale
- public getUnwindWordWidth
- public getUserLabelPrefix
- public getVScaleRange
- public getVtblPtrAddressSpace
- public getWCharAlign
- public getWCharType
- public getWCharWidth
- public getWIntType
- public getZeroLengthBitfieldBoundary
- public handleAsmEscapedChar
- public handleTargetFeatures
- public hasAArch64SVETypes
- public hasAlignMac68kSupport
- public hasBFloat16Type
- public hasBitIntType
- public hasBuiltinAtomic
- public hasBuiltinMSVaList
- public hasFPReturn
- public hasFeature
- public hasFeatureEnabled
- public hasFloat128Type
- public hasFloat16Type
- public hasIbm128Type
- public hasInt128Type
- public hasLegalHalfType
- public hasLongDoubleType
- public hasNoAsmVariants
- public hasPS4DLLImportExport
- public hasProtectedVisibility
- public hasRISCVVTypes
- public hasSjLjLowering
- public hasStrictFP
- public initFeatureMap
- public isBigEndian
- public isBranchProtectionSupportedArch
- public isCLZForZeroUndef
- public isLittleEndian
- public isNan2008
- public isRenderScriptTarget
- public isSEHTrySupported
- public isSPRegName
- public isTLSSupported
- public isTypeSigned
- public isVLASupported
- public isValidCPUName
- public isValidClobber
- public isValidFeatureName
- public isValidGCCRegisterName
- public isValidTuneCPUName
- public multiVersionSortPriority
- public noSignedCharForObjCBool
- protected resetDataLayout
- public resolveSymbolicName
- public setABI
- public setAuxTarget
- public setCPU
- public setCommandLineOpenCLOpts
- public setFPMath
- public setFeatureEnabled
- public setMaxAtomicWidth
- public setSupportedOpenCLOpts
- public shouldDLLImportComdatSymbols
- public supportAllOpenCLOpts
- public supportSourceEvalMethod
- public supportsExtendIntArgs
- public supportsIFunc
- public supportsMultiVersioning
- public supportsTargetAttributeTune
- public useAddressSpaceMapMangling
- public useBitFieldTypeAlignment
- public useExplicitBitFieldAlignment
- public useFP16ConversionIntrinsics
- public useLeadingZeroLengthBitfield
- public useObjCFP2RetForComplexLongDouble
- public useObjCFPRetForRealType
- public useSignedCharForObjCBool
- public useZeroLengthBitfieldAlignment
- public validateAsmConstraint
- public validateBranchProtection
- public validateCPUSpecificCPUDispatch
- public validateConstraintModifier
- public validateCpuIs
- public validateCpuSupports
- public validateGlobalRegisterVariable
- public validateInputConstraint
- public validateInputSize
- public validateOpenCLTarget
- public validateOutputConstraint
- public validateOutputSize
- public validateTarget
Methods
¶AMDGPUTargetInfo(const llvm::Triple& Triple,
const clang::TargetOptions& Opts)
AMDGPUTargetInfo(const llvm::Triple& Triple,
const clang::TargetOptions& Opts)
Declared at: clang/lib/Basic/Targets/AMDGPU.h:92
Parameters
- const llvm::Triple& Triple
- const clang::TargetOptions& Opts
¶void adjust(clang::DiagnosticsEngine& Diags,
clang::LangOptions& Opts)
void adjust(clang::DiagnosticsEngine& Diags,
clang::LangOptions& Opts)
Description
Set forced language options. Apply changes to the target information with respect to certain language options which change the target configuration and adjust the language based on the target options where applicable.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:96
Parameters
- clang::DiagnosticsEngine& Diags
- clang::LangOptions& Opts
¶clang::TargetInfo::CallingConvCheckResult
checkCallingConvention(
clang::CallingConv CC) const
clang::TargetInfo::CallingConvCheckResult
checkCallingConvention(
clang::CallingConv CC) const
Description
Determines whether a given calling convention is valid for the target. A calling convention can either be accepted, produce a warning and be substituted with the default calling convention, or (someday) produce an error (such as using thiscall on a non-instance function).
Declared at: clang/lib/Basic/Targets/AMDGPU.h:408
Parameters
- clang::CallingConv CC
¶std::string convertConstraint(
const char*& Constraint) const
std::string convertConstraint(
const char*& Constraint) const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:233
Parameters
- const char*& Constraint
¶void fillValidCPUList(
SmallVectorImpl<llvm::StringRef>& Values)
const
void fillValidCPUList(
SmallVectorImpl<llvm::StringRef>& Values)
const
Description
Fill a SmallVectorImpl with the valid values to setCPU.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:271
Parameters
- SmallVectorImpl<llvm::StringRef>& Values
¶clang::TargetInfo::BuiltinVaListKind
getBuiltinVaListKind() const
clang::TargetInfo::BuiltinVaListKind
getBuiltinVaListKind() const
Description
Returns the kind of __builtin_va_list type that should be used with this target.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:261
¶clang::LangAS getCUDABuiltinAddressSpace(
unsigned int AS) const
clang::LangAS getCUDABuiltinAddressSpace(
unsigned int AS) const
Description
Map from the address space field in builtin description strings to the language address space.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:354
Parameters
- unsigned int AS
¶const char* getClobbers() const
const char* getClobbers() const
Description
Returns a string of target-specific clobbers, in LLVM format.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:116
¶llvm::Optional<LangAS> getConstantAddressSpace()
const
llvm::Optional<LangAS> getConstantAddressSpace()
const
Description
Return an AST address space which can be used opportunistically for constant global memory. It must be possible to convert pointers into this address space to LangAS::Default. If no such address space exists, this may return None, and such optimizations will be disabled.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:369
¶Optional<unsigned int> getDWARFAddressSpace(
unsigned int AddressSpace) const
Optional<unsigned int> getDWARFAddressSpace(
unsigned int AddressSpace) const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:396
Parameters
- unsigned int AddressSpace
Returns
Otherwise return None and no conversion will be emitted in the DWARF.
¶ArrayRef<TargetInfo::GCCRegAlias>
getGCCRegAliases() const
ArrayRef<TargetInfo::GCCRegAlias>
getGCCRegAliases() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:120
¶ArrayRef<const char*> getGCCRegNames() const
ArrayRef<const char*> getGCCRegNames() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:118
¶const llvm::omp::GV& getGridValue() const
const llvm::omp::GV& getGridValue() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:373
¶uint64_t getMaxPointerWidth() const
uint64_t getMaxPointerWidth() const
Description
Return the maximum width of pointers on this target.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:112
¶uint64_t getNullPointerValue(
clang::LangAS AS) const
uint64_t getNullPointerValue(
clang::LangAS AS) const
Description
Get integer value for null pointer.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:422
Parameters
- clang::LangAS AS
¶clang::LangAS getOpenCLBuiltinAddressSpace(
unsigned int AS) const
clang::LangAS getOpenCLBuiltinAddressSpace(
unsigned int AS) const
Description
Map from the address space field in builtin description strings to the language address space.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:337
Parameters
- unsigned int AS
¶clang::LangAS getOpenCLTypeAddrSpace(
clang::OpenCLTypeKind TK) const
clang::LangAS getOpenCLTypeAddrSpace(
clang::OpenCLTypeKind TK) const
Description
Get address space for OpenCL type.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:322
Parameters
- clang::OpenCLTypeKind TK
¶uint64_t getPointerAlignV(
unsigned int AddrSpace) const
uint64_t getPointerAlignV(
unsigned int AddrSpace) const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:108
Parameters
- unsigned int AddrSpace
¶uint64_t getPointerWidthV(
unsigned int AddrSpace) const
uint64_t getPointerWidthV(
unsigned int AddrSpace) const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:98
Parameters
- unsigned int AddrSpace
¶ArrayRef<Builtin::Info> getTargetBuiltins() const
ArrayRef<Builtin::Info> getTargetBuiltins() const
Description
Return information about target-specific builtins for the current primary target, and info about which builtins are non-portable across the current set of primary and secondary targets.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:254
¶void getTargetDefines(
const clang::LangOptions& Opts,
clang::MacroBuilder& Builder) const
void getTargetDefines(
const clang::LangOptions& Opts,
clang::MacroBuilder& Builder) const
Description
Appends the target-specific # define values for this target set to the specified buffer.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:258
Parameters
- const clang::LangOptions& Opts
- clang::MacroBuilder& Builder
¶Optional<std::string> getTargetID() const
Optional<std::string> getTargetID() const
Description
Returns the target ID if supported.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:452
¶unsigned int getVtblPtrAddressSpace() const
unsigned int getVtblPtrAddressSpace() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:385
Returns
Target specific vtbl ptr address space.
¶bool handleTargetFeatures(
std::vector<std::string>& Features,
clang::DiagnosticsEngine& Diags)
bool handleTargetFeatures(
std::vector<std::string>& Features,
clang::DiagnosticsEngine& Diags)
Description
Perform initialization based on the user configured set of features (e.g., +sse4). The list is guaranteed to have at most one entry per feature. The target may modify the features list, to change which options are passed onwards to the backend. FIXME: This part should be fixed so that we can change handleTargetFeatures to merely a TargetInfo initialization routine.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:434
Parameters
- std::vector<std::string>& Features
- clang::DiagnosticsEngine& Diags
Returns
False on error.
¶bool hasBitIntType() const
bool hasBitIntType() const
Description
Determine whether the _BitInt type is supported on this target. This limitation is put into place for ABI reasons. FIXME: _BitInt is a required type in C23, so there's not much utility in asking whether the target supported it or not; I think this should be removed once backends have been alerted to the type and have had the chance to do implementation work if needed.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:430
¶bool hasFMAF() const
bool hasFMAF() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:69
¶bool hasFP64() const
bool hasFP64() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:54
¶bool hasFastFMA() const
bool hasFastFMA() const
Description
Has fast fma f64
Declared at: clang/lib/Basic/Targets/AMDGPU.h:65
¶bool hasFastFMAF() const
bool hasFastFMAF() const
Description
Has fast fma f32
Declared at: clang/lib/Basic/Targets/AMDGPU.h:60
¶bool hasFullRateDenormalsF32() const
bool hasFullRateDenormalsF32() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:74
¶bool hasLDEXPF() const
bool hasLDEXPF() const
Declared at: clang/lib/Basic/Targets/AMDGPU.h:78
¶bool initFeatureMap(
llvm::StringMap<bool>& Features,
clang::DiagnosticsEngine& Diags,
llvm::StringRef CPU,
const std::vector<std::string>& FeatureVec)
const
bool initFeatureMap(
llvm::StringMap<bool>& Features,
clang::DiagnosticsEngine& Diags,
llvm::StringRef CPU,
const std::vector<std::string>& FeatureVec)
const
Description
Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:250
Parameters
- llvm::StringMap<bool>& Features
- clang::DiagnosticsEngine& Diags
- llvm::StringRef CPU
- const std::vector<std::string>& FeatureVec
Returns
False on error (invalid features).
¶static bool isAMDGCN(const llvm::Triple& TT)
static bool isAMDGCN(const llvm::Triple& TT)
Declared at: clang/lib/Basic/Targets/AMDGPU.h:83
Parameters
- const llvm::Triple& TT
¶static bool isR600(const llvm::Triple& TT)
static bool isR600(const llvm::Triple& TT)
Declared at: clang/lib/Basic/Targets/AMDGPU.h:87
Parameters
- const llvm::Triple& TT
¶bool isValidCPUName(llvm::StringRef Name) const
bool isValidCPUName(llvm::StringRef Name) const
Description
brief Determine whether this TargetInfo supports the given CPU name.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:265
Parameters
- llvm::StringRef Name
¶void setAddressSpaceMap(bool DefaultIsPrivate)
void setAddressSpaceMap(bool DefaultIsPrivate)
Declared at: clang/lib/Basic/Targets/AMDGPU.h:94
Parameters
- bool DefaultIsPrivate
¶void setAuxTarget(const clang::TargetInfo* Aux)
void setAuxTarget(const clang::TargetInfo* Aux)
Declared at: clang/lib/Basic/Targets/AMDGPU.h:428
Parameters
- const clang::TargetInfo* Aux
¶bool setCPU(const std::string& Name)
bool setCPU(const std::string& Name)
Description
Target the specified CPU.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:273
Parameters
- const std::string& Name
Returns
False on error (invalid CPU name).
¶void setSupportedOpenCLOpts()
void setSupportedOpenCLOpts()
Description
Set supported OpenCL extensions and optional core features.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:285
¶bool useFP16ConversionIntrinsics() const
bool useFP16ConversionIntrinsics() const
Description
Check whether llvm intrinsics such as llvm.convert.to.fp16 should be used to convert to and from __fp16. FIXME: This function should be removed once all targets stop using the conversion intrinsics.
Declared at: clang/lib/Basic/Targets/AMDGPU.h:256
¶bool validateAsmConstraint(
const char*& Name,
TargetInfo::ConstraintInfo& Info) const
bool validateAsmConstraint(
const char*& Name,
TargetInfo::ConstraintInfo& Info) const
Description
Accepted register names: (n, m is unsigned integer, n < m) v s a {vn}, {v[n]} {sn}, {s[n]} {an}, {a[n]} {S} , where S is a special register name /{v[n:m]} {s[n:m]} {a[n:m]}
Declared at: clang/lib/Basic/Targets/AMDGPU.h:135
Parameters
- const char*& Name
- TargetInfo::ConstraintInfo& Info