clang
8.0.0
|
#include "/work/www-prereleases/8.0.0/rc1/builddocs/llvm.src/tools/clang/lib/Basic/Targets/AMDGPU.h"
Public Member Functions | |
AMDGPUTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts) | |
void | setAddressSpaceMap (bool DefaultIsPrivate) |
void | adjust (LangOptions &Opts) override |
Set forced language options. More... | |
uint64_t | getPointerWidthV (unsigned AddrSpace) const override |
uint64_t | getPointerAlignV (unsigned AddrSpace) const override |
uint64_t | getMaxPointerWidth () const override |
Return the maximum width of pointers on this target. More... | |
const char * | getClobbers () const override |
Returns a string of target-specific clobbers, in LLVM format. More... | |
ArrayRef< const char * > | getGCCRegNames () const override |
ArrayRef< TargetInfo::GCCRegAlias > | getGCCRegAliases () const override |
bool | validateAsmConstraint (const char *&Name, TargetInfo::ConstraintInfo &Info) const override |
Accepted register names: (n, m is unsigned integer, n < m) v s {vn}, {v[n]} {sn}, {s[n]} {S} , where S is a special register name. More... | |
std::string | convertConstraint (const char *&Constraint) const override |
bool | initFeatureMap (llvm::StringMap< bool > &Features, DiagnosticsEngine &Diags, StringRef CPU, const std::vector< std::string > &FeatureVec) const override |
Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target. More... | |
void | adjustTargetOptions (const CodeGenOptions &CGOpts, TargetOptions &TargetOpts) const override |
Adjust target options based on codegen options. More... | |
ArrayRef< Builtin::Info > | getTargetBuiltins () const override |
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. More... | |
void | getTargetDefines (const LangOptions &Opts, MacroBuilder &Builder) const override |
===-— Other target property query methods --------------------——===// More... | |
BuiltinVaListKind | getBuiltinVaListKind () const override |
Returns the kind of __builtin_va_list type that should be used with this target. More... | |
bool | isValidCPUName (StringRef Name) const override |
brief Determine whether this TargetInfo supports the given CPU name. More... | |
void | fillValidCPUList (SmallVectorImpl< StringRef > &Values) const override |
Fill a SmallVectorImpl with the valid values to setCPU. More... | |
bool | setCPU (const std::string &Name) override |
Target the specified CPU. More... | |
void | setSupportedOpenCLOpts () override |
Set supported OpenCL extensions and optional core features. More... | |
LangAS | getOpenCLTypeAddrSpace (OpenCLTypeKind TK) const override |
Get address space for OpenCL type. More... | |
LangAS | getOpenCLBuiltinAddressSpace (unsigned AS) const override |
Map from the address space field in builtin description strings to the language address space. More... | |
LangAS | getCUDABuiltinAddressSpace (unsigned AS) const override |
Map from the address space field in builtin description strings to the language address space. More... | |
llvm::Optional< LangAS > | getConstantAddressSpace () const override |
Return an AST address space which can be used opportunistically for constant global memory. More... | |
unsigned | getVtblPtrAddressSpace () const override |
Optional< unsigned > | getDWARFAddressSpace (unsigned AddressSpace) const override |
CallingConvCheckResult | checkCallingConvention (CallingConv CC) const override |
Determines whether a given calling convention is valid for the target. More... | |
uint64_t | getNullPointerValue (LangAS AS) const override |
Get integer value for null pointer. More... | |
![]() | |
virtual | ~TargetInfo () |
TargetOptions & | getTargetOpts () const |
Retrieve the target options. More... | |
IntType | getSizeType () const |
IntType | getSignedSizeType () const |
IntType | getIntMaxType () const |
IntType | getUIntMaxType () const |
IntType | getPtrDiffType (unsigned AddrSpace) const |
IntType | getUnsignedPtrDiffType (unsigned AddrSpace) const |
IntType | getIntPtrType () const |
IntType | getUIntPtrType () const |
IntType | getWCharType () const |
IntType | getWIntType () const |
IntType | getChar16Type () const |
IntType | getChar32Type () const |
IntType | getInt64Type () const |
IntType | getUInt64Type () const |
IntType | getSigAtomicType () const |
IntType | getProcessIDType () const |
bool | doUnsignedFixedPointTypesHavePadding () const |
In the event this target uses the same number of fractional bits for its unsigned types as it does with its signed counterparts, there will be exactly one bit of padding. More... | |
unsigned | getTypeWidth (IntType T) const |
Return the width (in bits) of the specified integer type enum. More... | |
virtual IntType | getIntTypeByWidth (unsigned BitWidth, bool IsSigned) const |
Return integer type with specified width. More... | |
virtual IntType | getLeastIntTypeByWidth (unsigned BitWidth, bool IsSigned) const |
Return the smallest integer type with at least the specified width. More... | |
RealType | getRealTypeByWidth (unsigned BitWidth) const |
Return floating point type with specified width. More... | |
unsigned | getTypeAlign (IntType T) const |
Return the alignment (in bits) of the specified integer type enum. More... | |
uint64_t | getPointerWidth (unsigned AddrSpace) const |
Return the width of pointers on this target, for the specified address space. More... | |
uint64_t | getPointerAlign (unsigned AddrSpace) const |
unsigned | getBoolWidth () const |
Return the size of '_Bool' and C++ 'bool' for this target, in bits. More... | |
unsigned | getBoolAlign () const |
Return the alignment of '_Bool' and C++ 'bool' for this target. More... | |
unsigned | getCharWidth () const |
unsigned | getCharAlign () const |
unsigned | getShortWidth () const |
Return the size of 'signed short' and 'unsigned short' for this target, in bits. More... | |
unsigned | getShortAlign () const |
Return the alignment of 'signed short' and 'unsigned short' for this target. More... | |
unsigned | getIntWidth () const |
getIntWidth/Align - Return the size of 'signed int' and 'unsigned int' for this target, in bits. More... | |
unsigned | getIntAlign () const |
unsigned | getLongWidth () const |
getLongWidth/Align - Return the size of 'signed long' and 'unsigned long' for this target, in bits. More... | |
unsigned | getLongAlign () const |
unsigned | getLongLongWidth () const |
getLongLongWidth/Align - Return the size of 'signed long long' and 'unsigned long long' for this target, in bits. More... | |
unsigned | getLongLongAlign () const |
unsigned | getShortAccumWidth () const |
getShortAccumWidth/Align - Return the size of 'signed short _Accum' and 'unsigned short _Accum' for this target, in bits. More... | |
unsigned | getShortAccumAlign () const |
unsigned | getAccumWidth () const |
getAccumWidth/Align - Return the size of 'signed _Accum' and 'unsigned _Accum' for this target, in bits. More... | |
unsigned | getAccumAlign () const |
unsigned | getLongAccumWidth () const |
getLongAccumWidth/Align - Return the size of 'signed long _Accum' and 'unsigned long _Accum' for this target, in bits. More... | |
unsigned | getLongAccumAlign () const |
unsigned | getShortFractWidth () const |
getShortFractWidth/Align - Return the size of 'signed short _Fract' and 'unsigned short _Fract' for this target, in bits. More... | |
unsigned | getShortFractAlign () const |
unsigned | getFractWidth () const |
getFractWidth/Align - Return the size of 'signed _Fract' and 'unsigned _Fract' for this target, in bits. More... | |
unsigned | getFractAlign () const |
unsigned | getLongFractWidth () const |
getLongFractWidth/Align - Return the size of 'signed long _Fract' and 'unsigned long _Fract' for this target, in bits. More... | |
unsigned | getLongFractAlign () const |
unsigned | getShortAccumScale () const |
getShortAccumScale/IBits - Return the number of fractional/integral bits in a 'signed short _Accum' type. More... | |
unsigned | getShortAccumIBits () const |
unsigned | getAccumScale () const |
getAccumScale/IBits - Return the number of fractional/integral bits in a 'signed _Accum' type. More... | |
unsigned | getAccumIBits () const |
unsigned | getLongAccumScale () const |
getLongAccumScale/IBits - Return the number of fractional/integral bits in a 'signed long _Accum' type. More... | |
unsigned | getLongAccumIBits () const |
unsigned | getUnsignedShortAccumScale () const |
getUnsignedShortAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned short _Accum' type. More... | |
unsigned | getUnsignedShortAccumIBits () const |
unsigned | getUnsignedAccumScale () const |
getUnsignedAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned _Accum' type. More... | |
unsigned | getUnsignedAccumIBits () const |
unsigned | getUnsignedLongAccumScale () const |
getUnsignedLongAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned long _Accum' type. More... | |
unsigned | getUnsignedLongAccumIBits () const |
unsigned | getShortFractScale () const |
getShortFractScale - Return the number of fractional bits in a 'signed short _Fract' type. More... | |
unsigned | getFractScale () const |
getFractScale - Return the number of fractional bits in a 'signed _Fract' type. More... | |
unsigned | getLongFractScale () const |
getLongFractScale - Return the number of fractional bits in a 'signed long _Fract' type. More... | |
unsigned | getUnsignedShortFractScale () const |
getUnsignedShortFractScale - Return the number of fractional bits in a 'unsigned short _Fract' type. More... | |
unsigned | getUnsignedFractScale () const |
getUnsignedFractScale - Return the number of fractional bits in a 'unsigned _Fract' type. More... | |
unsigned | getUnsignedLongFractScale () const |
getUnsignedLongFractScale - Return the number of fractional bits in a 'unsigned long _Fract' type. More... | |
virtual bool | hasInt128Type () const |
Determine whether the __int128 type is supported on this target. More... | |
virtual bool | hasLegalHalfType () const |
Determine whether _Float16 is supported on this target. More... | |
virtual bool | hasFloat128Type () const |
Determine whether the __float128 type is supported on this target. More... | |
unsigned | getSuitableAlign () const |
Return the alignment that is suitable for storing any object with a fundamental alignment requirement. More... | |
unsigned | getDefaultAlignForAttributeAligned () const |
Return the default alignment for attribute((aligned)) on this target, to be used if no alignment value is specified. More... | |
unsigned | getMinGlobalAlign () const |
getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes. More... | |
unsigned | getNewAlign () const |
Return the largest alignment for which a suitably-sized allocation with '::operator new(size_t)' is guaranteed to produce a correctly-aligned pointer. More... | |
unsigned | getWCharWidth () const |
getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits. More... | |
unsigned | getWCharAlign () const |
unsigned | getChar16Width () const |
getChar16Width/Align - Return the size of 'char16_t' for this target, in bits. More... | |
unsigned | getChar16Align () const |
unsigned | getChar32Width () const |
getChar32Width/Align - Return the size of 'char32_t' for this target, in bits. More... | |
unsigned | getChar32Align () const |
unsigned | getHalfWidth () const |
getHalfWidth/Align/Format - Return the size/align/format of 'half'. More... | |
unsigned | getHalfAlign () const |
const llvm::fltSemantics & | getHalfFormat () const |
unsigned | getFloatWidth () const |
getFloatWidth/Align/Format - Return the size/align/format of 'float'. More... | |
unsigned | getFloatAlign () const |
const llvm::fltSemantics & | getFloatFormat () const |
unsigned | getDoubleWidth () const |
getDoubleWidth/Align/Format - Return the size/align/format of 'double'. More... | |
unsigned | getDoubleAlign () const |
const llvm::fltSemantics & | getDoubleFormat () const |
unsigned | getLongDoubleWidth () const |
getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'. More... | |
unsigned | getLongDoubleAlign () const |
const llvm::fltSemantics & | getLongDoubleFormat () const |
unsigned | getFloat128Width () const |
getFloat128Width/Align/Format - Return the size/align/format of '__float128'. More... | |
unsigned | getFloat128Align () const |
const llvm::fltSemantics & | getFloat128Format () const |
virtual bool | useFloat128ManglingForLongDouble () const |
Return true if the 'long double' type should be mangled like __float128. More... | |
virtual unsigned | getFloatEvalMethod () const |
Return the value for the C99 FLT_EVAL_METHOD macro. More... | |
unsigned | getLargeArrayMinWidth () const |
unsigned | getLargeArrayAlign () const |
unsigned | getMaxAtomicPromoteWidth () const |
Return the maximum width lock-free atomic operation which will ever be supported for the given target. More... | |
unsigned | getMaxAtomicInlineWidth () const |
Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target. More... | |
virtual void | setMaxAtomicWidth () |
Set the maximum inline or promote width lock-free atomic operation for the given target. More... | |
virtual bool | hasBuiltinAtomic (uint64_t AtomicSizeInBits, uint64_t AlignmentInBits) const |
Returns true if the given target supports lock-free atomic operations at the specified width and alignment. More... | |
unsigned | getMaxVectorAlign () const |
Return the maximum vector alignment supported for the given target. More... | |
unsigned | getSimdDefaultAlign () const |
Return default simd alignment for the given target. More... | |
unsigned | getIntMaxTWidth () const |
Return the size of intmax_t and uintmax_t for this target, in bits. More... | |
virtual unsigned | getUnwindWordWidth () const |
virtual unsigned | getRegisterWidth () const |
Return the "preferred" register width on this target. More... | |
const char * | getMCountName () const |
Returns the name of the mcount instrumentation function. More... | |
bool | useSignedCharForObjCBool () const |
Check if the Objective-C built-in boolean type should be signed char. More... | |
void | noSignedCharForObjCBool () |
bool | useBitFieldTypeAlignment () const |
Check whether the alignment of bit-field types is respected when laying out structures. More... | |
bool | useZeroLengthBitfieldAlignment () const |
Check whether zero length bitfields should force alignment of the next member. More... | |
unsigned | getZeroLengthBitfieldBoundary () const |
Get the fixed alignment value in bits for a member that follows a zero length bitfield. More... | |
bool | useExplicitBitFieldAlignment () const |
Check whether explicit bitfield alignment attributes should be. More... | |
bool | hasAlignMac68kSupport () const |
Check whether this target support '#pragma options align=mac68k'. More... | |
const char * | getTypeConstantSuffix (IntType T) const |
Return the constant suffix for the specified integer type enum. More... | |
bool | useObjCFPRetForRealType (RealType T) const |
Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target. More... | |
bool | useObjCFP2RetForComplexLongDouble () const |
Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target. More... | |
virtual bool | useFP16ConversionIntrinsics () const |
Check whether llvm intrinsics such as llvm.convert.to.fp16 should be used to convert to and from __fp16. More... | |
bool | useAddressSpaceMapMangling () const |
Specify if mangling based on address space map should be used or not for language specific address spaces. More... | |
virtual bool | isCLZForZeroUndef () const |
The __builtin_clz* and __builtin_ctz* built-in functions are specified to have undefined results for zero inputs, but on targets that support these operations in a way that provides well-defined results for zero without loss of performance, it is a good idea to avoid optimizing based on that undef behavior. More... | |
bool | hasBuiltinMSVaList () const |
Returns whether or not type __builtin_ms_va_list type is available on this target. More... | |
bool | isRenderScriptTarget () const |
Returns true for RenderScript. More... | |
bool | isValidClobber (StringRef Name) const |
Returns whether the passed in string is a valid clobber in an inline asm statement. More... | |
virtual bool | isValidGCCRegisterName (StringRef Name) const |
Returns whether the passed in string is a valid register name according to GCC. More... | |
StringRef | getNormalizedGCCRegisterName (StringRef Name, bool ReturnCanonical=false) const |
Returns the "normalized" GCC register name. More... | |
virtual StringRef | getConstraintRegister (StringRef Constraint, StringRef Expression) const |
Extracts a register from the passed constraint (if it is a single-register constraint) and the asm label expression related to a variable in the input or output list of an inline asm statement. More... | |
virtual bool | validateGlobalRegisterVariable (StringRef RegName, unsigned RegSize, bool &HasSizeMismatch) const |
Validate register name used for global register variables. More... | |
bool | validateOutputConstraint (ConstraintInfo &Info) const |
bool | validateInputConstraint (MutableArrayRef< ConstraintInfo > OutputConstraints, ConstraintInfo &info) const |
virtual bool | validateOutputSize (StringRef, unsigned) const |
virtual bool | validateInputSize (StringRef, unsigned) const |
virtual bool | validateConstraintModifier (StringRef, char, unsigned, std::string &) const |
bool | resolveSymbolicName (const char *&Name, ArrayRef< ConstraintInfo > OutputConstraints, unsigned &Index) const |
virtual bool | isNan2008 () const |
Returns true if NaN encoding is IEEE 754-2008. More... | |
const llvm::Triple & | getTriple () const |
Returns the target triple of the primary target. More... | |
const llvm::DataLayout & | getDataLayout () const |
virtual bool | hasProtectedVisibility () const |
Does this target support "protected" visibility? More... | |
virtual std::string | isValidSectionSpecifier (StringRef SR) const |
An optional hook that targets can implement to perform semantic checking on attribute((section("foo"))) specifiers. More... | |
virtual StringRef | getABI () const |
Get the ABI currently in use. More... | |
TargetCXXABI | getCXXABI () const |
Get the C++ ABI currently in use. More... | |
virtual bool | setABI (const std::string &Name) |
Use the specified ABI. More... | |
virtual bool | setFPMath (StringRef Name) |
Use the specified unit for FP math. More... | |
virtual void | setFeatureEnabled (llvm::StringMap< bool > &Features, StringRef Name, bool Enabled) const |
Enable or disable a specific target feature; the feature name must be valid. More... | |
virtual bool | isValidFeatureName (StringRef Feature) const |
Determine whether this TargetInfo supports the given feature. More... | |
virtual bool | handleTargetFeatures (std::vector< std::string > &Features, DiagnosticsEngine &Diags) |
Perform initialization based on the user configured set of features (e.g., +sse4). More... | |
virtual bool | hasFeature (StringRef Feature) const |
Determine whether the given target has the given feature. More... | |
bool | supportsMultiVersioning () const |
Identify whether this target supports multiversioning of functions, which requires support for cpu_supports and cpu_is functionality. More... | |
bool | supportsIFunc () const |
Identify whether this target supports IFuncs. More... | |
virtual bool | validateCpuSupports (StringRef Name) const |
virtual unsigned | multiVersionSortPriority (StringRef Name) const |
virtual bool | validateCpuIs (StringRef Name) const |
virtual bool | validateCPUSpecificCPUDispatch (StringRef Name) const |
virtual char | CPUSpecificManglingCharacter (StringRef Name) const |
virtual void | getCPUSpecificCPUDispatchFeatures (StringRef Name, llvm::SmallVectorImpl< StringRef > &Features) const |
unsigned | getRegParmMax () const |
bool | isTLSSupported () const |
Whether the target supports thread-local storage. More... | |
unsigned short | getMaxTLSAlign () const |
Return the maximum alignment (in bits) of a TLS variable. More... | |
bool | isVLASupported () const |
Whether target supports variable-length arrays. More... | |
bool | isSEHTrySupported () const |
Whether the target supports SEH __try. More... | |
bool | hasNoAsmVariants () const |
Return true if {|} are normal characters in the asm string. More... | |
virtual int | getEHDataRegisterNumber (unsigned RegNo) const |
Return the register number that __builtin_eh_return_regno would return with the specified argument. More... | |
virtual const char * | getStaticInitSectionSpecifier () const |
Return the section to use for C++ static initialization functions. More... | |
const LangASMap & | getAddressSpaceMap () const |
StringRef | getPlatformName () const |
Retrieve the name of the platform as it is used in the availability attribute. More... | |
VersionTuple | getPlatformMinVersion () const |
Retrieve the minimum desired version of the platform, to which the program should be compiled. More... | |
bool | isBigEndian () const |
bool | isLittleEndian () const |
virtual CallingConv | getDefaultCallingConv (CallingConvMethodType MT) const |
Gets the default calling convention for the given target and declaration context. More... | |
virtual CallingConvKind | getCallingConvKind (bool ClangABICompat4) const |
virtual bool | hasSjLjLowering () const |
Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp. More... | |
virtual bool | checkCFProtectionBranchSupported (DiagnosticsEngine &Diags) const |
Check if the target supports CFProtection branch. More... | |
virtual bool | checkCFProtectionReturnSupported (DiagnosticsEngine &Diags) const |
Check if the target supports CFProtection branch. More... | |
virtual bool | allowsLargerPreferedTypeAlignment () const |
Whether target allows to overalign ABI-specified preferred alignment. More... | |
virtual void | setOpenCLExtensionOpts () |
Set supported OpenCL extensions as written on command line. More... | |
OpenCLOptions & | getSupportedOpenCLOpts () |
Get supported OpenCL extensions and optional core features. More... | |
const OpenCLOptions & | getSupportedOpenCLOpts () const |
Get const supported OpenCL extensions and optional core features. More... | |
const llvm::VersionTuple & | getSDKVersion () const |
virtual bool | validateTarget (DiagnosticsEngine &Diags) const |
Check the target is valid after it is fully initialized. More... | |
Additional Inherited Members | |
![]() | |
enum | IntType { NoInt = 0, SignedChar, UnsignedChar, SignedShort, UnsignedShort, SignedInt, UnsignedInt, SignedLong, UnsignedLong, SignedLongLong, UnsignedLongLong } |
===-— Target Data Type Query Methods ----------------------------—===// More... | |
enum | RealType { NoFloat = 255, Float = 0, Double, LongDouble, Float128 } |
enum | BuiltinVaListKind { CharPtrBuiltinVaList = 0, VoidPtrBuiltinVaList, AArch64ABIBuiltinVaList, PNaClABIBuiltinVaList, PowerABIBuiltinVaList, X86_64ABIBuiltinVaList, AAPCSABIBuiltinVaList, SystemZBuiltinVaList } |
The different kinds of __builtin_va_list types defined by the target implementation. More... | |
enum | CallingConvMethodType { CCMT_Unknown, CCMT_Member, CCMT_NonMember } |
enum | CallingConvCheckResult { CCCR_OK, CCCR_Warning, CCCR_Ignore } |
enum | CallingConvKind { CCK_Default, CCK_ClangABI4OrPS4, CCK_MicrosoftWin64 } |
enum | OpenCLTypeKind { OCLTK_Default, OCLTK_ClkEvent, OCLTK_Event, OCLTK_Image, OCLTK_Pipe, OCLTK_Queue, OCLTK_ReserveID, OCLTK_Sampler } |
![]() | |
static TargetInfo * | CreateTargetInfo (DiagnosticsEngine &Diags, const std::shared_ptr< TargetOptions > &Opts) |
Construct a target for the given options. More... | |
static IntType | getCorrespondingUnsignedType (IntType T) |
static bool | isTypeSigned (IntType T) |
Returns true if the type is signed; false otherwise. More... | |
static const char * | getTypeName (IntType T) |
Return the user string for the specified integer type enum. More... | |
static const char * | getTypeFormatModifier (IntType T) |
Return the printf format modifier for the specified integer type enum. More... | |
![]() | |
TargetInfo (const llvm::Triple &T) | |
void | resetDataLayout (StringRef DL) |
virtual enum IntType | getPtrDiffTypeV (unsigned AddrSpace) const |
virtual ArrayRef< AddlRegName > | getGCCAddlRegNames () const |
![]() | |
bool | BigEndian |
bool | TLSSupported |
bool | VLASupported |
bool | NoAsmVariants |
bool | HasLegalHalfType |
bool | HasFloat128 |
unsigned char | PointerWidth |
unsigned char | PointerAlign |
unsigned char | BoolWidth |
unsigned char | BoolAlign |
unsigned char | IntWidth |
unsigned char | IntAlign |
unsigned char | HalfWidth |
unsigned char | HalfAlign |
unsigned char | FloatWidth |
unsigned char | FloatAlign |
unsigned char | DoubleWidth |
unsigned char | DoubleAlign |
unsigned char | LongDoubleWidth |
unsigned char | LongDoubleAlign |
unsigned char | Float128Align |
unsigned char | LargeArrayMinWidth |
unsigned char | LargeArrayAlign |
unsigned char | LongWidth |
unsigned char | LongAlign |
unsigned char | LongLongWidth |
unsigned char | LongLongAlign |
unsigned char | ShortAccumWidth |
unsigned char | ShortAccumAlign |
unsigned char | AccumWidth |
unsigned char | AccumAlign |
unsigned char | LongAccumWidth |
unsigned char | LongAccumAlign |
unsigned char | ShortFractWidth |
unsigned char | ShortFractAlign |
unsigned char | FractWidth |
unsigned char | FractAlign |
unsigned char | LongFractWidth |
unsigned char | LongFractAlign |
bool | PaddingOnUnsignedFixedPoint |
unsigned char | ShortAccumScale |
unsigned char | AccumScale |
unsigned char | LongAccumScale |
unsigned char | SuitableAlign |
unsigned char | DefaultAlignForAttributeAligned |
unsigned char | MinGlobalAlign |
unsigned char | MaxAtomicPromoteWidth |
unsigned char | MaxAtomicInlineWidth |
unsigned short | MaxVectorAlign |
unsigned short | MaxTLSAlign |
unsigned short | SimdDefaultAlign |
unsigned short | NewAlign |
std::unique_ptr< llvm::DataLayout > | DataLayout |
const char * | MCountName |
const llvm::fltSemantics * | HalfFormat |
const llvm::fltSemantics * | FloatFormat |
const llvm::fltSemantics * | DoubleFormat |
const llvm::fltSemantics * | LongDoubleFormat |
const llvm::fltSemantics * | Float128Format |
unsigned char | RegParmMax |
unsigned char | SSERegParmMax |
TargetCXXABI | TheCXXABI |
const LangASMap * | AddrSpaceMap |
StringRef | PlatformName |
VersionTuple | PlatformMinVersion |
unsigned | HasAlignMac68kSupport: 1 |
unsigned | RealTypeUsesObjCFPRet: 3 |
unsigned | ComplexLongDoubleUsesFP2Ret: 1 |
unsigned | HasBuiltinMSVaList: 1 |
unsigned | IsRenderScriptTarget: 1 |
IntType | SizeType |
IntType | IntMaxType |
IntType | PtrDiffType |
IntType | IntPtrType |
IntType | WCharType |
IntType | WIntType |
IntType | Char16Type |
IntType | Char32Type |
IntType | Int64Type |
IntType | SigAtomicType |
IntType | ProcessIDType |
unsigned | UseSignedCharForObjCBool: 1 |
Whether Objective-C's built-in boolean type should be signed char. More... | |
unsigned | UseBitFieldTypeAlignment: 1 |
Control whether the alignment of bit-field types is respected when laying out structures. More... | |
unsigned | UseZeroLengthBitfieldAlignment: 1 |
Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield. More... | |
unsigned | UseExplicitBitFieldAlignment: 1 |
Whether explicit bit field alignment attributes are honored. More... | |
unsigned | ZeroLengthBitfieldBoundary |
If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type. More... | |
bool | UseAddrSpaceMapMangling |
Specify if mangling based on address space map should be used or not for language specific address spaces. More... | |
AMDGPUTargetInfo::AMDGPUTargetInfo | ( | const llvm::Triple & | Triple, |
const TargetOptions & | Opts | ||
) |
Definition at line 237 of file AMDGPU.cpp.
References clang::TargetInfo::DataLayout, clang::targets::DataLayoutStringAMDGCN, clang::targets::DataLayoutStringR600, getMaxPointerWidth(), clang::TargetInfo::getTriple(), clang::TargetInfo::IntPtrType, clang::TargetInfo::LongAlign, clang::TargetInfo::LongWidth, clang::TargetInfo::MaxAtomicInlineWidth, clang::TargetInfo::MaxAtomicPromoteWidth, clang::TargetInfo::PointerAlign, clang::TargetInfo::PointerWidth, clang::TargetInfo::PtrDiffType, clang::TargetInfo::resetDataLayout(), setAddressSpaceMap(), clang::TargetInfo::SignedLong, clang::TargetInfo::SizeType, clang::TargetInfo::UnsignedLong, and clang::TargetInfo::UseAddrSpaceMapMangling.
|
overridevirtual |
Set forced language options.
adjust - 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.
Reimplemented from clang::TargetInfo.
Definition at line 266 of file AMDGPU.cpp.
References clang::TargetInfo::adjust(), clang::TargetInfo::getTriple(), and setAddressSpaceMap().
|
overridevirtual |
Adjust target options based on codegen options.
Reimplemented from clang::TargetInfo.
Definition at line 204 of file AMDGPU.cpp.
References clang::TargetOptions::Features, clang::TargetOptions::FeaturesAsWritten, and llvm::str().
|
inlineoverridevirtual |
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).
Reimplemented from clang::TargetInfo.
Definition at line 339 of file AMDGPU.h.
References clang::CC_C, and clang::CC_OpenCLKernel.
|
inlineoverridevirtual |
|
overridevirtual |
Fill a SmallVectorImpl with the valid values to setCPU.
Reimplemented from clang::TargetInfo.
Definition at line 225 of file AMDGPU.cpp.
|
inlineoverridevirtual |
Returns the kind of __builtin_va_list type that should be used with this target.
Implements clang::TargetInfo.
Definition at line 221 of file AMDGPU.h.
References clang::TargetInfo::CharPtrBuiltinVaList.
|
inlineoverridevirtual |
Returns a string of target-specific clobbers, in LLVM format.
Implements clang::TargetInfo.
|
inlineoverridevirtual |
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.
Reimplemented from clang::TargetInfo.
Definition at line 311 of file AMDGPU.h.
References clang::getLangASFromTargetAS().
|
inlineoverridevirtual |
Map from the address space field in builtin description strings to the language address space.
Reimplemented from clang::TargetInfo.
Definition at line 307 of file AMDGPU.h.
References clang::Default.
|
inlineoverridevirtual |
AddressSpace
to be converted in order to be used, then return the corresponding target specific DWARF address space.Reimplemented from clang::TargetInfo.
|
inlineoverridevirtual |
Implements clang::TargetInfo.
|
overridevirtual |
Implements clang::TargetInfo.
Definition at line 122 of file AMDGPU.cpp.
References clang::targets::GCCRegNames.
|
inlineoverridevirtual |
Return the maximum width of pointers on this target.
Reimplemented from clang::TargetInfo.
Definition at line 104 of file AMDGPU.h.
Referenced by AMDGPUTargetInfo().
|
inlineoverridevirtual |
Get integer value for null pointer.
AddrSpace | address space of pointee in source language. |
Reimplemented from clang::TargetInfo.
Definition at line 352 of file AMDGPU.h.
References clang::opencl_local.
|
inlineoverridevirtual |
Map from the address space field in builtin description strings to the language address space.
Reimplemented from clang::TargetInfo.
Definition at line 290 of file AMDGPU.h.
References clang::getLangASFromTargetAS(), clang::opencl_constant, clang::opencl_generic, clang::opencl_global, clang::opencl_local, and clang::opencl_private.
|
inlineoverridevirtual |
Get address space for OpenCL type.
Reimplemented from clang::TargetInfo.
Definition at line 275 of file AMDGPU.h.
References clang::TargetInfo::getOpenCLTypeAddrSpace(), clang::opencl_constant, and clang::opencl_global.
|
inlineoverridevirtual |
Reimplemented from clang::TargetInfo.
|
inlineoverridevirtual |
Reimplemented from clang::TargetInfo.
|
overridevirtual |
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.
Implements clang::TargetInfo.
Definition at line 275 of file AMDGPU.cpp.
References clang::Builtin::FirstTSBuiltin, and clang::AMDGPU::LastTSBuiltin.
|
overridevirtual |
===-— Other target property query methods --------------------——===//
Appends the target-specific #define values for this target set to the specified buffer.
Implements clang::TargetInfo.
Definition at line 280 of file AMDGPU.cpp.
|
inlineoverridevirtual |
Reimplemented from clang::TargetInfo.
|
overridevirtual |
Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target.
Reimplemented from clang::TargetInfo.
Definition at line 126 of file AMDGPU.cpp.
References clang::TargetInfo::initFeatureMap().
|
inlineoverridevirtual |
brief Determine whether this TargetInfo supports the given CPU name.
Reimplemented from clang::TargetInfo.
void AMDGPUTargetInfo::setAddressSpaceMap | ( | bool | DefaultIsPrivate | ) |
Definition at line 233 of file AMDGPU.cpp.
Referenced by adjust(), and AMDGPUTargetInfo().
|
inlineoverridevirtual |
Target the specified CPU.
Reimplemented from clang::TargetInfo.
|
inlineoverridevirtual |
Set supported OpenCL extensions and optional core features.
Reimplemented from clang::TargetInfo.
|
inlineoverridevirtual |
Accepted register names: (n, m is unsigned integer, n < m) v s {vn}, {v[n]} {sn}, {s[n]} {S} , where S is a special register name.
{v[n:m]} {s[n:m]}
Implements clang::TargetInfo.