clang
8.0.0
|
Exposes information about the current target. More...
#include "clang/Basic/TargetInfo.h"
Classes | |
struct | AddlRegName |
struct | ConstraintInfo |
struct | GCCRegAlias |
Public Types | |
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 } |
Public Member Functions | |
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 |
virtual uint64_t | getMaxPointerWidth () const |
Return the maximum width of pointers on this target. More... | |
virtual uint64_t | getNullPointerValue (LangAS AddrSpace) const |
Get integer value for null pointer. More... | |
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... | |
virtual bool | hasFloat16Type () const |
Determine whether the _Float16 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 void | getTargetDefines (const LangOptions &Opts, MacroBuilder &Builder) const =0 |
===-— Other target property query methods --------------------——===// More... | |
virtual ArrayRef< Builtin::Info > | getTargetBuiltins () const =0 |
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... | |
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... | |
virtual BuiltinVaListKind | getBuiltinVaListKind () const =0 |
Returns the kind of __builtin_va_list type that should be used with this target. 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 |
virtual bool | validateAsmConstraint (const char *&Name, TargetInfo::ConstraintInfo &info) const =0 |
bool | resolveSymbolicName (const char *&Name, ArrayRef< ConstraintInfo > OutputConstraints, unsigned &Index) const |
virtual std::string | convertConstraint (const char *&Constraint) const |
virtual const char * | getClobbers () const =0 |
Returns a string of target-specific clobbers, in LLVM format. More... | |
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 void | adjust (LangOptions &Opts) |
Set forced language options. More... | |
virtual void | adjustTargetOptions (const CodeGenOptions &CGOpts, TargetOptions &TargetOpts) const |
Adjust target options based on codegen options. More... | |
virtual bool | initFeatureMap (llvm::StringMap< bool > &Features, DiagnosticsEngine &Diags, StringRef CPU, const std::vector< std::string > &FeatureVec) const |
Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target. 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 | setCPU (const std::string &Name) |
Target the specified CPU. More... | |
virtual void | fillValidCPUList (SmallVectorImpl< StringRef > &Values) const |
Fill a SmallVectorImpl with the valid values to setCPU. More... | |
virtual bool | isValidCPUName (StringRef Name) const |
brief Determine whether this TargetInfo supports the given CPU name. 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 |
virtual LangAS | getOpenCLBuiltinAddressSpace (unsigned AS) const |
Map from the address space field in builtin description strings to the language address space. More... | |
virtual LangAS | getCUDABuiltinAddressSpace (unsigned AS) const |
Map from the address space field in builtin description strings to the language address space. More... | |
virtual llvm::Optional< LangAS > | getConstantAddressSpace () const |
Return an AST address space which can be used opportunistically for constant global memory. More... | |
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 CallingConvCheckResult | checkCallingConvention (CallingConv CC) const |
Determines whether a given calling convention is valid for the target. 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 | setSupportedOpenCLOpts () |
Set supported OpenCL extensions and optional core features. 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... | |
virtual LangAS | getOpenCLTypeAddrSpace (OpenCLTypeKind TK) const |
Get address space for OpenCL type. More... | |
virtual unsigned | getVtblPtrAddressSpace () const |
virtual Optional< unsigned > | getDWARFAddressSpace (unsigned AddressSpace) const |
const llvm::VersionTuple & | getSDKVersion () const |
virtual bool | validateTarget (DiagnosticsEngine &Diags) const |
Check the target is valid after it is fully initialized. More... | |
Static Public Member Functions | |
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... | |
Protected Member Functions | |
TargetInfo (const llvm::Triple &T) | |
void | resetDataLayout (StringRef DL) |
virtual uint64_t | getPointerWidthV (unsigned AddrSpace) const |
virtual uint64_t | getPointerAlignV (unsigned AddrSpace) const |
virtual enum IntType | getPtrDiffTypeV (unsigned AddrSpace) const |
virtual ArrayRef< const char * > | getGCCRegNames () const =0 |
virtual ArrayRef< GCCRegAlias > | getGCCRegAliases () const =0 |
virtual ArrayRef< AddlRegName > | getGCCAddlRegNames () const |
Protected Attributes | |
bool | BigEndian |
bool | TLSSupported |
bool | VLASupported |
bool | NoAsmVariants |
bool | HasLegalHalfType |
bool | HasFloat128 |
bool | HasFloat16 |
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... | |
Exposes information about the current target.
Definition at line 54 of file TargetInfo.h.
The different kinds of __builtin_va_list types defined by the target implementation.
Enumerator | |
---|---|
CharPtrBuiltinVaList | typedef char* __builtin_va_list; |
VoidPtrBuiltinVaList | typedef void* __builtin_va_list; |
AArch64ABIBuiltinVaList | __builtin_va_list as defined by the AArch64 ABI http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055a/IHI0055A_aapcs64.pdf |
PNaClABIBuiltinVaList | __builtin_va_list as defined by the PNaCl ABI: http://www.chromium.org/nativeclient/pnacl/bitcode-abi#TOC-Machine-Types |
PowerABIBuiltinVaList | __builtin_va_list as defined by the Power ABI: https://www.power.org /resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Embedded.pdf |
X86_64ABIBuiltinVaList | __builtin_va_list as defined by the x86-64 ABI: http://refspecs.linuxbase.org/elf/x86_64-abi-0.21.pdf |
AAPCSABIBuiltinVaList | __builtin_va_list as defined by ARM AAPCS ABI http://infocenter.arm.com |
SystemZBuiltinVaList |
Definition at line 182 of file TargetInfo.h.
Enumerator | |
---|---|
CCCR_OK | |
CCCR_Warning | |
CCCR_Ignore |
Definition at line 1237 of file TargetInfo.h.
Enumerator | |
---|---|
CCK_Default | |
CCK_ClangABI4OrPS4 | |
CCK_MicrosoftWin64 |
Definition at line 1256 of file TargetInfo.h.
Enumerator | |
---|---|
CCMT_Unknown | |
CCMT_Member | |
CCMT_NonMember |
Definition at line 1222 of file TargetInfo.h.
===-— Target Data Type Query Methods ----------------------------—===//
Enumerator | |
---|---|
NoInt | |
SignedChar | |
UnsignedChar | |
SignedShort | |
UnsignedShort | |
SignedInt | |
UnsignedInt | |
SignedLong | |
UnsignedLong | |
SignedLongLong | |
UnsignedLongLong |
Definition at line 158 of file TargetInfo.h.
Enumerator | |
---|---|
OCLTK_Default | |
OCLTK_ClkEvent | |
OCLTK_Event | |
OCLTK_Image | |
OCLTK_Pipe | |
OCLTK_Queue | |
OCLTK_ReserveID | |
OCLTK_Sampler |
Definition at line 1301 of file TargetInfo.h.
Enumerator | |
---|---|
NoFloat | |
Float | |
Double | |
LongDouble | |
Float128 |
Definition at line 172 of file TargetInfo.h.
|
protected |
Definition at line 29 of file TargetInfo.cpp.
References AccumAlign, AccumScale, AccumWidth, AddrSpaceMap, BigEndian, BoolAlign, BoolWidth, Char16Type, Char32Type, ComplexLongDoubleUsesFP2Ret, DefaultAddrSpaceMap, DefaultAlignForAttributeAligned, DoubleAlign, DoubleFormat, DoubleWidth, Float128Align, Float128Format, FloatAlign, FloatFormat, FloatWidth, FractAlign, FractWidth, clang::TargetCXXABI::GenericItanium, HalfAlign, HalfFormat, HalfWidth, HasAlignMac68kSupport, HasBuiltinMSVaList, HasFloat128, HasFloat16, HasLegalHalfType, Int64Type, IntAlign, IntMaxType, IntPtrType, IntWidth, IsRenderScriptTarget, LargeArrayAlign, LargeArrayMinWidth, LongAccumAlign, LongAccumScale, LongAccumWidth, LongAlign, LongDoubleAlign, LongDoubleFormat, LongDoubleWidth, LongFractAlign, LongFractWidth, LongLongAlign, LongLongWidth, LongWidth, MaxAtomicInlineWidth, MaxAtomicPromoteWidth, MaxTLSAlign, MaxVectorAlign, MCountName, clang::TargetCXXABI::Microsoft, MinGlobalAlign, NewAlign, NoAsmVariants, PaddingOnUnsignedFixedPoint, PlatformMinVersion, PlatformName, PointerAlign, PointerWidth, ProcessIDType, PtrDiffType, RealTypeUsesObjCFPRet, RegParmMax, clang::TargetCXXABI::set(), ShortAccumAlign, ShortAccumScale, ShortAccumWidth, ShortFractAlign, ShortFractWidth, SigAtomicType, SignedInt, SignedLong, SignedLongLong, SimdDefaultAlign, SizeType, SSERegParmMax, SuitableAlign, TheCXXABI, TLSSupported, UnsignedInt, UnsignedLong, UnsignedShort, UseAddrSpaceMapMangling, UseBitFieldTypeAlignment, UseExplicitBitFieldAlignment, UseSignedCharForObjCBool, UseZeroLengthBitfieldAlignment, VLASupported, WCharType, WIntType, and ZeroLengthBitfieldBoundary.
|
virtual |
Definition at line 137 of file TargetInfo.cpp.
|
virtual |
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 in clang::targets::AMDGPUTargetInfo, and clang::targets::PPCTargetInfo.
Definition at line 325 of file TargetInfo.cpp.
References DoubleAlign, DoubleFormat, DoubleWidth, FloatAlign, FloatFormat, FloatWidth, getCharWidth(), getMaxPointerWidth(), HalfAlign, HalfFormat, HalfWidth, Int64Type, IntAlign, IntMaxType, IntPtrType, IntWidth, LongAlign, LongDoubleAlign, LongDoubleFormat, LongDoubleWidth, LongLongAlign, LongLongWidth, LongWidth, NewAlign, PaddingOnUnsignedFixedPoint, PtrDiffType, SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, SizeType, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedShort, UseBitFieldTypeAlignment, and WCharType.
Referenced by clang::targets::PPCTargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::adjust(), clang::CompilerInstance::createPreprocessor(), and clang::CompilerInstance::ExecuteAction().
|
inlinevirtual |
Adjust target options based on codegen options.
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1009 of file TargetInfo.h.
Referenced by clang::CompilerInstance::ExecuteAction().
|
inlinevirtual |
Whether target allows to overalign ABI-specified preferred alignment.
Reimplemented in clang::targets::MCUX86_32TargetInfo, and clang::targets::XCoreTargetInfo.
Definition at line 1279 of file TargetInfo.h.
|
inlinevirtual |
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 in clang::targets::WindowsX86_64TargetInfo, clang::targets::X86_64TargetInfo, clang::targets::MCUX86_32TargetInfo, clang::targets::PPC64TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::X86TargetInfo, clang::targets::WindowsARMTargetInfo, clang::targets::ARMTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::WindowsARM64TargetInfo, clang::targets::SPIRTargetInfo, clang::targets::BPFTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 1247 of file TargetInfo.h.
References clang::CC_C.
|
virtual |
Check if the target supports CFProtection branch.
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 140 of file TargetInfo.cpp.
References clang::DiagnosticsEngine::Report().
Referenced by clang::CodeGen::CodeGenModule::Release().
|
virtual |
Check if the target supports CFProtection branch.
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 146 of file TargetInfo.cpp.
References clang::DiagnosticsEngine::Report().
Referenced by clang::CodeGen::CodeGenModule::Release().
|
inlinevirtual |
Reimplemented in clang::targets::PPCTargetInfo, clang::targets::MipsTargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::X86TargetInfo, and clang::targets::ARMTargetInfo.
Definition at line 938 of file TargetInfo.h.
Referenced by clang::targets::MipsTargetInfo::convertConstraint(), clang::targets::PPCTargetInfo::convertConstraint(), and SimplifyConstraint().
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1122 of file TargetInfo.h.
|
static |
Construct a target for the given options.
CreateTargetInfo - Return the target info object for the specified target options.
Opts | - The options to use to initialize the target. The target may modify the options to canonicalize the target feature information to match what the backend expects. |
Definition at line 608 of file Targets.cpp.
References clang::targets::AllocateTarget(), clang::DiagnosticsEngine::Report(), and clang::Target.
Referenced by clang::PrecompiledPreamble::Build(), checkAndSanitizeDiags(), clang::ASTUnit::CodeComplete(), clang::createChainedIncludesSource(), clang::CompilerInstance::ExecuteAction(), and clang::ASTUnit::LoadFromCompilerInvocationAction().
|
inline |
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.
Return true if unsigned fixed point types have padding for this target.
Definition at line 320 of file TargetInfo.h.
Referenced by clang::ASTContext::getFixedPointSemantics().
|
inlinevirtual |
Fill a SmallVectorImpl with the valid values to setCPU.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::SparcV9TargetInfo, clang::targets::AVRTargetInfo, clang::targets::MipsTargetInfo, clang::targets::SparcTargetInfo, clang::targets::ARMTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::BPFTargetInfo, clang::targets::PPCTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::LanaiTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 1036 of file TargetInfo.h.
|
inlinevirtual |
Get the ABI currently in use.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::PPCTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::ARMTargetInfo, clang::targets::MipsTargetInfo, clang::targets::RISCVTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 1021 of file TargetInfo.h.
|
inline |
Definition at line 405 of file TargetInfo.h.
|
inline |
Definition at line 437 of file TargetInfo.h.
|
inline |
getAccumScale/IBits - Return the number of fractional/integral bits in a 'signed _Accum' type.
Definition at line 436 of file TargetInfo.h.
|
inline |
getAccumWidth/Align - Return the size of 'signed _Accum' and 'unsigned _Accum' for this target, in bits.
Definition at line 404 of file TargetInfo.h.
|
inline |
Definition at line 1189 of file TargetInfo.h.
Referenced by getAddressSpaceMap().
|
inline |
Return the alignment of '_Bool' and C++ 'bool' for this target.
Definition at line 369 of file TargetInfo.h.
|
inline |
Return the size of '_Bool' and C++ 'bool' for this target, in bits.
Definition at line 366 of file TargetInfo.h.
|
pure virtual |
Returns the kind of __builtin_va_list type that should be used with this target.
Implemented in clang::targets::WindowsX86_64TargetInfo, clang::targets::X86_64TargetInfo, clang::targets::DarwinPPC32TargetInfo, clang::targets::PPC64TargetInfo, clang::targets::X86_32TargetInfo, clang::targets::PPC32TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::MipsTargetInfo, clang::targets::WindowsARMTargetInfo, clang::targets::DarwinAArch64TargetInfo, clang::targets::ARMTargetInfo, clang::targets::WindowsARM64TargetInfo, clang::targets::HexagonTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::TCETargetInfo, clang::targets::MSP430TargetInfo, clang::targets::SPIRTargetInfo, clang::targets::NaClMips32TargetInfo, clang::targets::LanaiTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::SystemZTargetInfo, clang::targets::AVRTargetInfo, clang::targets::BPFTargetInfo, clang::targets::SparcTargetInfo, clang::targets::PNaClTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::XCoreTargetInfo, clang::targets::ARCTargetInfo, and clang::targets::Le64TargetInfo.
|
virtual |
Reimplemented in clang::targets::MicrosoftX86_64TargetInfo, and clang::targets::MicrosoftARM64TargetInfo.
Definition at line 399 of file TargetInfo.cpp.
References CCK_ClangABI4OrPS4, CCK_Default, getCXXABI(), getTriple(), and clang::TargetCXXABI::Microsoft.
|
inline |
Definition at line 553 of file TargetInfo.h.
|
inline |
Definition at line 290 of file TargetInfo.h.
|
inline |
getChar16Width/Align - Return the size of 'char16_t' for this target, in bits.
Definition at line 552 of file TargetInfo.h.
Referenced by EvaluateValue(), getCharWidth(), and clang::FloatingLiteral::getValueAsApproximateDouble().
|
inline |
Definition at line 558 of file TargetInfo.h.
|
inline |
Definition at line 291 of file TargetInfo.h.
|
inline |
getChar32Width/Align - Return the size of 'char32_t' for this target, in bits.
Definition at line 557 of file TargetInfo.h.
Referenced by EvaluateValue(), getCharWidth(), and clang::FloatingLiteral::getValueAsApproximateDouble().
|
inline |
Definition at line 372 of file TargetInfo.h.
Referenced by clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), getTypeAlign(), and roundUpSizeToCharAlignment().
|
inline |
Definition at line 371 of file TargetInfo.h.
Referenced by adjust(), clang::CharLiteralParser::CharLiteralParser(), EvaluateValue(), getBlockLayoutInfoString(), getCharWidth(), GetGCAttrTypeForType(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getPaddingDiagFromTagKind(), getTypeConstantSuffix(), getTypeWidth(), clang::FloatingLiteral::getValueAsApproximateDouble(), and roundUpSizeToCharAlignment().
|
pure virtual |
Returns a string of target-specific clobbers, in LLVM format.
Implemented in clang::targets::PPCTargetInfo, clang::targets::MipsTargetInfo, clang::targets::X86TargetInfo, clang::targets::ARMTargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::LanaiTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::TCETargetInfo, clang::targets::SparcTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::MSP430TargetInfo, clang::targets::PNaClTargetInfo, clang::targets::AVRTargetInfo, clang::targets::SPIRTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::BPFTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::XCoreTargetInfo, clang::targets::ARCTargetInfo, and clang::targets::Le64TargetInfo.
|
inlinevirtual |
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 in clang::targets::AMDGPUTargetInfo.
Definition at line 1207 of file TargetInfo.h.
Referenced by castStringLiteralToDefaultAddressSpace().
|
inlinevirtual |
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.
This function is used by Sema in order to diagnose conflicts between the clobber list and the input/output lists.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::ARMTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 790 of file TargetInfo.h.
Referenced by getClobberConflictLocation().
Definition at line 299 of file TargetInfo.h.
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1130 of file TargetInfo.h.
|
inlinevirtual |
Map from the address space field in builtin description strings to the language address space.
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1199 of file TargetInfo.h.
References clang::getLangASFromTargetAS().
Referenced by clang::ASTContext::getLangASForBuiltinAddressSpace().
|
inline |
Get the C++ ABI currently in use.
Definition at line 1024 of file TargetInfo.h.
Referenced by BuildAppleKextVirtualCall(), canEmitDelegateCallArgs(), checkForMultipleExportedDefaultConstructors(), computeKeyFunction(), createCXXABI(), clang::CodeGen::CreateItaniumCXXABI(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CGCXXABI::EmitCtorCompleteObjectHandler(), clang::CodeGen::CodeGenModule::GetAddrOfFunction(), getCallingConvKind(), getCallingConvMangling(), clang::ASTContext::getCommentForDecl(), clang::CodeGen::CodeGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getMangledName(), clang::CodeGen::CodeGenTypes::inheritingCtorHasParams(), clang::Sema::InstantiateClassMembers(), clang::Type::isIncompleteType(), isMsLayout(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), isVarDeclStrongDefinition(), clang::CodeGen::CodeGenVTables::isVTableExternal(), clang::MangleContext::mangleName(), clang::Sema::PerformImplicitConversion(), shouldEmitVTableThunk(), TryReinterpretCast(), and TryStaticMemberPointerUpcast().
|
inline |
Definition at line 959 of file TargetInfo.h.
Referenced by clang::CodeGenAction::ExecuteAction(), clang::BackendConsumer::HandleTranslationUnit(), and clang::MangleContext::mangleName().
|
inline |
Return the default alignment for attribute((aligned)) on this target, to be used if no alignment value is specified.
Definition at line 530 of file TargetInfo.h.
Referenced by clang::ASTContext::getTargetDefaultAlignForAttributeAligned().
|
inlinevirtual |
Gets the default calling convention for the given target and declaration context.
Reimplemented in clang::targets::X86_64TargetInfo, clang::targets::X86TargetInfo, and clang::targets::SPIRTargetInfo.
Definition at line 1230 of file TargetInfo.h.
References clang::CC_C.
|
inline |
Definition at line 572 of file TargetInfo.h.
|
inline |
Definition at line 573 of file TargetInfo.h.
|
inline |
getDoubleWidth/Align/Format - Return the size/align/format of 'double'.
Definition at line 571 of file TargetInfo.h.
Referenced by getRealTypeByWidth().
|
inlinevirtual |
AddressSpace
to be converted in order to be used, then return the corresponding target specific DWARF address space.Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1326 of file TargetInfo.h.
|
inlinevirtual |
Return the register number that __builtin_eh_return_regno would return with the specified argument.
This corresponds with TargetLowering's getExceptionPointerRegister and getExceptionSelectorRegister in the backend.
Reimplemented in clang::targets::X86_64TargetInfo, clang::targets::MipsTargetInfo, clang::targets::X86_32TargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::XCoreTargetInfo, and clang::targets::SparcTargetInfo.
Definition at line 1180 of file TargetInfo.h.
|
inline |
Definition at line 586 of file TargetInfo.h.
|
inline |
Definition at line 587 of file TargetInfo.h.
|
inline |
getFloat128Width/Align/Format - Return the size/align/format of '__float128'.
Definition at line 585 of file TargetInfo.h.
|
inline |
Definition at line 567 of file TargetInfo.h.
|
inlinevirtual |
Return the value for the C99 FLT_EVAL_METHOD macro.
Reimplemented in clang::targets::NetBSDI386TargetInfo, and clang::targets::X86TargetInfo.
Definition at line 596 of file TargetInfo.h.
|
inline |
Definition at line 568 of file TargetInfo.h.
|
inline |
getFloatWidth/Align/Format - Return the size/align/format of 'float'.
Definition at line 566 of file TargetInfo.h.
Referenced by getRealTypeByWidth().
|
inline |
Definition at line 420 of file TargetInfo.h.
|
inline |
getFractScale - Return the number of fractional bits in a 'signed _Fract' type.
Definition at line 484 of file TargetInfo.h.
|
inline |
getFractWidth/Align - Return the size of 'signed _Fract' and 'unsigned _Fract' for this target, in bits.
Definition at line 419 of file TargetInfo.h.
|
inlineprotectedvirtual |
Reimplemented in clang::targets::PPCTargetInfo, clang::targets::X86TargetInfo, clang::targets::AVRTargetInfo, and clang::targets::SystemZTargetInfo.
Definition at line 1353 of file TargetInfo.h.
Referenced by clang::targets::PPCTargetInfo::getGCCAddlRegNames().
|
protectedpure virtual |
Implemented in clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::TCETargetInfo, clang::targets::AVRTargetInfo, clang::targets::SPIRTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::LanaiTargetInfo, clang::targets::BPFTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::PNaClTargetInfo, clang::targets::SparcTargetInfo, clang::targets::XCoreTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::ARCTargetInfo, clang::targets::MSP430TargetInfo, clang::targets::SystemZTargetInfo, and clang::targets::Le64TargetInfo.
|
protectedpure virtual |
Implemented in clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::TCETargetInfo, clang::targets::AArch64TargetInfo, clang::targets::LanaiTargetInfo, clang::targets::AVRTargetInfo, clang::targets::SPIRTargetInfo, clang::targets::BPFTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::SparcTargetInfo, clang::targets::PNaClTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::MSP430TargetInfo, clang::targets::SystemZTargetInfo, clang::targets::XCoreTargetInfo, clang::targets::ARCTargetInfo, and clang::targets::Le64TargetInfo.
|
inline |
Definition at line 562 of file TargetInfo.h.
|
inline |
Definition at line 563 of file TargetInfo.h.
|
inline |
getHalfWidth/Align/Format - Return the size/align/format of 'half'.
Definition at line 561 of file TargetInfo.h.
|
inline |
Definition at line 292 of file TargetInfo.h.
|
inline |
Definition at line 385 of file TargetInfo.h.
Referenced by getMSMemberPointerSlots(), and getTypeAlign().
|
inline |
Return the size of intmax_t and uintmax_t for this target, in bits.
Definition at line 630 of file TargetInfo.h.
|
inline |
Definition at line 274 of file TargetInfo.h.
|
inline |
Definition at line 284 of file TargetInfo.h.
|
virtual |
Return integer type with specified width.
Reimplemented in clang::targets::AVRTargetInfo.
Definition at line 230 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getLongLongWidth(), getLongWidth(), getShortWidth(), NoInt, SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by clang::targets::AVRTargetInfo::getIntTypeByWidth(), and clang::ASTContext::getIntTypeForBitwidth().
|
inline |
getIntWidth/Align - Return the size of 'signed int' and 'unsigned int' for this target, in bits.
Definition at line 384 of file TargetInfo.h.
Referenced by clang::Sema::ActOnCXXNew(), clang::CharLiteralParser::CharLiteralParser(), EvaluateValue(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getMSMemberPointerSlots(), getTypeConstantSuffix(), and getTypeWidth().
|
inline |
Definition at line 601 of file TargetInfo.h.
|
inline |
Definition at line 600 of file TargetInfo.h.
|
virtual |
Return the smallest integer type with at least the specified width.
Reimplemented in clang::targets::AVRTargetInfo, clang::targets::DarwinTargetInfo< PPC32TargetInfo >, clang::targets::DarwinTargetInfo< X86_64TargetInfo >, clang::targets::DarwinTargetInfo< PPC64TargetInfo >, clang::targets::DarwinTargetInfo< ARMleTargetInfo >, clang::targets::DarwinTargetInfo< AArch64leTargetInfo >, and clang::targets::DarwinTargetInfo< X86_32TargetInfo >.
Definition at line 245 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getLongLongWidth(), getLongWidth(), getShortWidth(), NoInt, SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by clang::targets::DarwinTargetInfo< X86_32TargetInfo >::getLeastIntTypeByWidth(), and clang::targets::AVRTargetInfo::getLeastIntTypeByWidth().
|
inline |
Definition at line 410 of file TargetInfo.h.
|
inline |
Definition at line 442 of file TargetInfo.h.
|
inline |
getLongAccumScale/IBits - Return the number of fractional/integral bits in a 'signed long _Accum' type.
Definition at line 441 of file TargetInfo.h.
|
inline |
getLongAccumWidth/Align - Return the size of 'signed long _Accum' and 'unsigned long _Accum' for this target, in bits.
Definition at line 409 of file TargetInfo.h.
|
inline |
Definition at line 390 of file TargetInfo.h.
Referenced by getTypeAlign().
|
inline |
Definition at line 578 of file TargetInfo.h.
|
inline |
Definition at line 579 of file TargetInfo.h.
Referenced by clang::ento::SMTConstraintManager< ConstraintSMT, SMTExprTy >::canReasonAbout(), EmitX86_64VAArgFromMemory(), and getRealTypeByWidth().
|
inline |
getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'.
Definition at line 577 of file TargetInfo.h.
|
inline |
Definition at line 425 of file TargetInfo.h.
|
inline |
getLongFractScale - Return the number of fractional bits in a 'signed long _Fract' type.
Definition at line 488 of file TargetInfo.h.
|
inline |
getLongFractWidth/Align - Return the size of 'signed long _Fract' and 'unsigned long _Fract' for this target, in bits.
Definition at line 424 of file TargetInfo.h.
|
inline |
Definition at line 395 of file TargetInfo.h.
Referenced by getTypeAlign().
|
inline |
getLongLongWidth/Align - Return the size of 'signed long long' and 'unsigned long long' for this target, in bits.
Definition at line 394 of file TargetInfo.h.
Referenced by getIntTypeByWidth(), getLeastIntTypeByWidth(), and getTypeWidth().
|
inline |
getLongWidth/Align - Return the size of 'signed long' and 'unsigned long' for this target, in bits.
Definition at line 389 of file TargetInfo.h.
Referenced by ComputeVMIClassTypeInfoFlags(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getObjCEncodingForPrimitiveKind(), and getTypeWidth().
|
inline |
Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target.
Definition at line 608 of file TargetInfo.h.
Referenced by clang::ASTContext::AtomicUsesUnsupportedLibcall().
|
inline |
Return the maximum width lock-free atomic operation which will ever be supported for the given target.
Definition at line 605 of file TargetInfo.h.
|
inlinevirtual |
Return the maximum width of pointers on this target.
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 357 of file TargetInfo.h.
Referenced by adjust().
|
inline |
Return the maximum alignment (in bits) of a TLS variable.
Gets the maximum alignment (in bits) of a TLS variable on this target. Returns zero if there is no such constraint.
Definition at line 1151 of file TargetInfo.h.
|
inline |
Return the maximum vector alignment supported for the given target.
Definition at line 623 of file TargetInfo.h.
|
inline |
Returns the name of the mcount instrumentation function.
Definition at line 646 of file TargetInfo.h.
|
inline |
getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes.
Definition at line 536 of file TargetInfo.h.
Referenced by clang::ASTContext::getDeclAlign().
|
inline |
Return the largest alignment for which a suitably-sized allocation with '::operator new(size_t)' is guaranteed to produce a correctly-aligned pointer.
Definition at line 541 of file TargetInfo.h.
References max().
Referenced by hasNewExtendedAlignment().
StringRef TargetInfo::getNormalizedGCCRegisterName | ( | StringRef | Name, |
bool | ReturnCanonical = false |
||
) | const |
Returns the "normalized" GCC register name.
ReturnCannonical true will return the register name without any additions such as "{}" or "%" in it's canonical form, for example: ReturnCanonical = true and Name = "rax", will return "ax".
Definition at line 486 of file TargetInfo.cpp.
Referenced by AddVariableConstraints(), extractRegisterName(), and getClobberConflictLocation().
|
inlinevirtual |
Get integer value for null pointer.
AddrSpace | address space of pointee in source language. |
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 363 of file TargetInfo.h.
Referenced by clang::ASTContext::getTargetNullPointerValue().
|
inlinevirtual |
Map from the address space field in builtin description strings to the language address space.
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1193 of file TargetInfo.h.
References clang::getLangASFromTargetAS().
Referenced by clang::ASTContext::getLangASForBuiltinAddressSpace().
|
virtual |
Get address space for OpenCL type.
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 406 of file TargetInfo.cpp.
References clang::Default, OCLTK_Image, OCLTK_Pipe, OCLTK_Sampler, clang::opencl_constant, and clang::opencl_global.
Referenced by clang::targets::AMDGPUTargetInfo::getOpenCLTypeAddrSpace().
|
inline |
Retrieve the minimum desired version of the platform, to which the program should be compiled.
Definition at line 1217 of file TargetInfo.h.
Referenced by checkObjCMethodX86VectorTypes().
|
inline |
Retrieve the name of the platform as it is used in the availability attribute.
Definition at line 1213 of file TargetInfo.h.
Referenced by isPlatformEnvironment().
|
inline |
Definition at line 352 of file TargetInfo.h.
Referenced by getMSMemberPointerSlots(), initializeForBlockHeader(), and roundUpSizeToCharAlignment().
|
inlineprotectedvirtual |
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1345 of file TargetInfo.h.
|
inline |
Return the width of pointers on this target, for the specified address space.
Definition at line 349 of file TargetInfo.h.
Referenced by ComputeVMIClassTypeInfoFlags(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::Sema::FindAllocationFunctions(), getBlockLayoutInfoString(), GetGCAttrTypeForType(), clang::CodeGen::swiftcall::getMaximumVoluntaryIntegerSize(), getMSMemberPointerSlots(), GetNumNonZeroBytesInInit(), initializeForBlockHeader(), clang::MangleContext::mangleName(), occupiesMoreThan(), patternFor(), and roundUpSizeToCharAlignment().
|
inlineprotectedvirtual |
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1342 of file TargetInfo.h.
|
inline |
Definition at line 297 of file TargetInfo.h.
|
inline |
Definition at line 278 of file TargetInfo.h.
|
inlineprotectedvirtual |
Definition at line 1348 of file TargetInfo.h.
TargetInfo::RealType TargetInfo::getRealTypeByWidth | ( | unsigned | BitWidth | ) | const |
Return floating point type with specified width.
Definition at line 260 of file TargetInfo.cpp.
References Double, Float, Float128, getDoubleWidth(), getFloatWidth(), getLongDoubleFormat(), hasFloat128Type(), LongDouble, and NoFloat.
Referenced by clang::ASTContext::getRealTypeForBitwidth().
|
inlinevirtual |
Return the "preferred" register width on this target.
Reimplemented in clang::targets::X86_64TargetInfo.
Definition at line 638 of file TargetInfo.h.
|
inline |
Definition at line 1137 of file TargetInfo.h.
|
inline |
Definition at line 1332 of file TargetInfo.h.
|
inline |
Definition at line 400 of file TargetInfo.h.
|
inline |
Definition at line 430 of file TargetInfo.h.
|
inline |
getShortAccumScale/IBits - Return the number of fractional/integral bits in a 'signed short _Accum' type.
Definition at line 429 of file TargetInfo.h.
|
inline |
getShortAccumWidth/Align - Return the size of 'signed short _Accum' and 'unsigned short _Accum' for this target, in bits.
Definition at line 399 of file TargetInfo.h.
|
inline |
Return the alignment of 'signed short' and 'unsigned short' for this target.
Definition at line 380 of file TargetInfo.h.
Referenced by getTypeAlign().
|
inline |
Definition at line 415 of file TargetInfo.h.
|
inline |
getShortFractScale - Return the number of fractional bits in a 'signed short _Fract' type.
Definition at line 480 of file TargetInfo.h.
|
inline |
getShortFractWidth/Align - Return the size of 'signed short _Fract' and 'unsigned short _Fract' for this target, in bits.
Definition at line 414 of file TargetInfo.h.
|
inline |
Return the size of 'signed short' and 'unsigned short' for this target, in bits.
Definition at line 376 of file TargetInfo.h.
Referenced by getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeConstantSuffix(), and getTypeWidth().
|
inline |
Definition at line 296 of file TargetInfo.h.
|
inline |
Definition at line 260 of file TargetInfo.h.
|
inline |
Return default simd alignment for the given target.
Generally, this value is type-specific, but this alignment can be used for most of the types for the given target.
Definition at line 627 of file TargetInfo.h.
Referenced by clang::ASTContext::getOpenMPDefaultSimdAlign().
|
inline |
Definition at line 259 of file TargetInfo.h.
|
inlinevirtual |
Return the section to use for C++ static initialization functions.
Reimplemented in clang::targets::LinuxTargetInfo< X86_64TargetInfo >, clang::targets::LinuxTargetInfo< X86_32TargetInfo >, clang::targets::DarwinTargetInfo< PPC32TargetInfo >, clang::targets::DarwinTargetInfo< X86_64TargetInfo >, clang::targets::DarwinTargetInfo< PPC64TargetInfo >, clang::targets::DarwinTargetInfo< ARMleTargetInfo >, clang::targets::DarwinTargetInfo< AArch64leTargetInfo >, and clang::targets::DarwinTargetInfo< X86_32TargetInfo >.
Definition at line 1185 of file TargetInfo.h.
|
inline |
Return the alignment that is suitable for storing any object with a fundamental alignment requirement.
Definition at line 526 of file TargetInfo.h.
|
inline |
Get supported OpenCL extensions and optional core features.
Definition at line 1292 of file TargetInfo.h.
Referenced by clang::Sema::Initialize().
|
inline |
Get const supported OpenCL extensions and optional core features.
Definition at line 1297 of file TargetInfo.h.
|
pure virtual |
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.
Implemented in clang::targets::X86_64TargetInfo, clang::targets::X86_32TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::TCETargetInfo, clang::targets::LanaiTargetInfo, clang::targets::SPIRTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::AVRTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::BPFTargetInfo, clang::targets::PNaClTargetInfo, clang::targets::SparcTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::MSP430TargetInfo, clang::targets::XCoreTargetInfo, clang::targets::ARCTargetInfo, and clang::targets::Le64TargetInfo.
Referenced by clang::Builtin::Context::InitializeTarget().
|
pure virtual |
===-— Other target property query methods --------------------——===//
Appends the target-specific #define values for this target set to the specified buffer.
Implemented in clang::targets::CygwinX86_64TargetInfo, clang::targets::MicrosoftX86_64TargetInfo, clang::targets::RTEMSX86_32TargetInfo, clang::targets::MCUX86_32TargetInfo, clang::targets::HaikuX86_32TargetInfo, clang::targets::CygwinX86_32TargetInfo, clang::targets::MinGWX86_32TargetInfo, clang::targets::MicrosoftX86_32TargetInfo, clang::targets::RenderScript32TargetInfo, clang::targets::X86TargetInfo, clang::targets::CygwinARMTargetInfo, clang::targets::MinGWARMTargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::MicrosoftARMleTargetInfo, clang::targets::SparcV9TargetInfo, clang::targets::ItaniumWindowsARMleTargetInfo, clang::targets::MipsTargetInfo, clang::targets::ARMbeTargetInfo, clang::targets::SparcV8TargetInfo, clang::targets::ARMleTargetInfo, clang::targets::RenderScript64TargetInfo, clang::targets::PPCTargetInfo, clang::targets::AArch64beTargetInfo, clang::targets::WebAssembly64TargetInfo, clang::targets::ARMTargetInfo, clang::targets::MicrosoftARM64TargetInfo, clang::targets::SPIR64TargetInfo, clang::targets::WebAssembly32TargetInfo, clang::targets::TCELETargetInfo, clang::targets::SPIR32TargetInfo, clang::targets::AArch64leTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::TCETargetInfo, clang::targets::LanaiTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::AVRTargetInfo, clang::targets::WebAssemblyTargetInfo, clang::targets::SPIRTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::SparcTargetInfo, clang::targets::MSP430TargetInfo, clang::targets::PNaClTargetInfo, clang::targets::BPFTargetInfo, clang::targets::XCoreTargetInfo, clang::targets::ARCTargetInfo, clang::targets::Le64TargetInfo, clang::targets::OSTargetInfo< PPC32TargetInfo >, clang::targets::OSTargetInfo< X86_64TargetInfo >, clang::targets::OSTargetInfo< PPC64TargetInfo >, clang::targets::OSTargetInfo< ARMleTargetInfo >, clang::targets::OSTargetInfo< AArch64leTargetInfo >, and clang::targets::OSTargetInfo< X86_32TargetInfo >.
|
inline |
Retrieve the target options.
Definition at line 152 of file TargetInfo.h.
Referenced by getCudaArch(), and clang::CodeGen::CodeGenModule::SetCommonAttributes().
|
inline |
Returns the target triple of the primary target.
Definition at line 955 of file TargetInfo.h.
Referenced by clang::targets::AArch64leTargetInfo::AArch64leTargetInfo(), clang::targets::AArch64TargetInfo::AArch64TargetInfo(), addLinkOptionsPostorder(), clang::targets::AMDGPUTargetInfo::adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), clang::ASTContext::AtomicUsesUnsupportedLibcall(), buildGlobalBlock(), clang::arcmt::trans::canApplyWeak(), CheckBuiltinTargetSupport(), checkObjCMethodX86VectorTypes(), checkVAStartABI(), ComputeVMIClassTypeInfoFlags(), configureBlocksRuntimeObject(), clang::CodeGen::CreateItaniumCXXABI(), clang::Sema::diagnoseUnavailableAlignedAllocation(), EmitBitTestIntrinsic(), clang::CodeGen::CodeGenFunction::EmitBuiltinAvailable(), emitGlobalDtorWithCXAAtExit(), emitGlobalDtorWithTLRegDtor(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::CompilerInstance::ExecuteAction(), FindIvarInterface(), clang::CodeGen::EHPersonality::get(), clang::analyze_scanf::ScanfSpecifier::getArgType(), clang::targets::ARMTargetInfo::getBuiltinVaListKind(), getCallingConvKind(), getCallingConvMangling(), getCodegenToUse(), getCPersonality(), clang::cross_tu::CrossTranslationUnitContext::getCrossTUDefinition(), getCXXPersonality(), getMaxAtomicAccessSize(), getMSMemberPointerSlots(), clang::ASTContext::getNSIntegerType(), clang::ASTContext::getNSUIntegerType(), getObjCPersonality(), getObjCXXPersonality(), clang::CodeGen::CodeGenModule::getTargetCodeGenInfo(), getThreadLocalWrapperLinkage(), clang::CodeGen::CodeGenModule::getTriple(), getTypeInfoLinkage(), clang::targets::RISCVTargetInfo::hasFeature(), clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier(), clang::targets::ARMTargetInfo::initFeatureMap(), clang::Sema::InstantiateClassMembers(), clang::CodeGen::ABIInfo::isAndroid(), isArc4RandomAvailable(), isArithmeticArgumentPromotion(), clang::FunctionDecl::isMSVCRTEntryPoint(), isPermittedNeonBaseType(), isPlatformEnvironment(), isTargetArch(), isTargetEnvironment(), isTargetOS(), isTargetVendor(), isThreadWrapperReplaceable(), isVarDeclStrongDefinition(), clang::CodeGen::CodeGenModule::maybeSetTrivialComdat(), ParseAlignPragma(), clang::analyze_format_string::ParseFormatStringHasSArg(), ParseScanfSpecifier(), ReferenceDllExportedMembers(), clang::CodeGen::CodeGenModule::Release(), roundUpSizeToCharAlignment(), supportsNilWithFloatRet(), takeDeclAttributes(), clang::targets::MipsTargetInfo::validateTarget(), Write__class_ro_t_initializer(), and WriteModernMetadataDeclarations().
unsigned TargetInfo::getTypeAlign | ( | IntType | T | ) | const |
Return the alignment (in bits) of the specified integer type enum.
getTypeAlign - Return the alignment (in bits) of the specified integer type enum.
For example, SignedInt -> getIntAlign().
Definition at line 285 of file TargetInfo.cpp.
References getCharAlign(), getIntAlign(), getLongAlign(), getLongLongAlign(), getShortAlign(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
const char * TargetInfo::getTypeConstantSuffix | ( | IntType | T | ) | const |
Return the constant suffix for the specified integer type enum.
getTypeConstantSuffix - Return the constant suffix for the specified integer type enum.
For example, SignedLong -> "L".
Definition at line 171 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
|
static |
Return the printf format modifier for the specified integer type enum.
getTypeFormatModifier - Return the printf format modifier for the specified integer type enum.
For example, SignedLong -> "l".
Definition at line 196 of file TargetInfo.cpp.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
|
static |
Return the user string for the specified integer type enum.
getTypeName - Return the user string for the specified integer type enum.
For example, SignedShort -> "short".
Definition at line 153 of file TargetInfo.cpp.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
unsigned TargetInfo::getTypeWidth | ( | IntType | T | ) | const |
Return the width (in bits) of the specified integer type enum.
getTypeWidth - Return the width (in bits) of the specified integer type enum.
For example, SignedInt -> getIntWidth().
Definition at line 214 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getLongLongWidth(), getLongWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
|
inline |
Definition at line 293 of file TargetInfo.h.
|
inline |
Definition at line 275 of file TargetInfo.h.
|
inline |
Definition at line 285 of file TargetInfo.h.
|
inline |
Definition at line 462 of file TargetInfo.h.
|
inline |
getUnsignedAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned _Accum' type.
Definition at line 459 of file TargetInfo.h.
|
inline |
getUnsignedFractScale - Return the number of fractional bits in a 'unsigned _Fract' type.
Definition at line 499 of file TargetInfo.h.
|
inline |
Definition at line 472 of file TargetInfo.h.
|
inline |
getUnsignedLongAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned long _Accum' type.
Definition at line 469 of file TargetInfo.h.
|
inline |
getUnsignedLongFractScale - Return the number of fractional bits in a 'unsigned long _Fract' type.
Definition at line 505 of file TargetInfo.h.
|
inline |
Definition at line 281 of file TargetInfo.h.
|
inline |
Definition at line 451 of file TargetInfo.h.
|
inline |
getUnsignedShortAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned short _Accum' type.
Definition at line 448 of file TargetInfo.h.
|
inline |
getUnsignedShortFractScale - Return the number of fractional bits in a 'unsigned short _Fract' type.
Definition at line 492 of file TargetInfo.h.
|
inlinevirtual |
Reimplemented in clang::targets::X86_64TargetInfo.
Definition at line 635 of file TargetInfo.h.
|
inlinevirtual |
Reimplemented in clang::targets::AMDGPUTargetInfo.
Definition at line 1316 of file TargetInfo.h.
|
inline |
Definition at line 548 of file TargetInfo.h.
|
inline |
Definition at line 288 of file TargetInfo.h.
Referenced by EvaluateValue().
|
inline |
getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits.
Definition at line 547 of file TargetInfo.h.
Referenced by clang::CharLiteralParser::CharLiteralParser(), EvaluateValue(), getCharWidth(), and clang::FloatingLiteral::getValueAsApproximateDouble().
|
inline |
Definition at line 289 of file TargetInfo.h.
|
inline |
Get the fixed alignment value in bits for a member that follows a zero length bitfield.
Definition at line 676 of file TargetInfo.h.
Referenced by roundUpSizeToCharAlignment().
|
inlinevirtual |
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.
Reimplemented in clang::targets::DarwinX86_64TargetInfo, clang::targets::DarwinI386TargetInfo, clang::targets::MipsTargetInfo, clang::targets::X86TargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::AArch64TargetInfo, and clang::targets::SparcTargetInfo.
Definition at line 1081 of file TargetInfo.h.
|
inline |
Check whether this target support '#pragma options align=mac68k'.
Definition at line 687 of file TargetInfo.h.
References clang::driver::types::getTypeName().
Referenced by clang::Sema::ActOnPragmaOptionsAlign().
|
inlinevirtual |
Returns true if the given target supports lock-free atomic operations at the specified width and alignment.
Definition at line 614 of file TargetInfo.h.
References getCharWidth().
|
inline |
Returns whether or not type __builtin_ms_va_list
type is available on this target.
Definition at line 759 of file TargetInfo.h.
Referenced by clang::Sema::Initialize().
|
inlinevirtual |
Determine whether the given target has the given feature.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::ARMTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::TCETargetInfo, clang::targets::LanaiTargetInfo, clang::targets::RISCVTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::SPIRTargetInfo, clang::targets::MSP430TargetInfo, clang::targets::PNaClTargetInfo, clang::targets::SparcTargetInfo, and clang::targets::BPFTargetInfo.
Definition at line 1087 of file TargetInfo.h.
Referenced by getClangCallTerminateFn(), getCudaArch(), getCXXPersonality(), clang::ASTContext::getDefaultCallingConvention(), HandleNeonVectorTypeAttr(), and hasFeature().
|
inlinevirtual |
Determine whether the __float128 type is supported on this target.
Definition at line 519 of file TargetInfo.h.
Referenced by getRealTypeByWidth(), and clang::CodeGen::ABIInfo::isHomogeneousAggregate().
|
inlinevirtual |
Determine whether the _Float16 type is supported on this target.
Definition at line 522 of file TargetInfo.h.
Referenced by clang::NumericLiteralParser::NumericLiteralParser().
|
inlinevirtual |
Determine whether the __int128 type is supported on this target.
Reimplemented in clang::targets::X86_64TargetInfo, and clang::targets::MipsTargetInfo.
Definition at line 511 of file TargetInfo.h.
Referenced by clang::Sema::Initialize(), and clang::CodeGen::swiftcall::isLegalIntegerType().
|
inlinevirtual |
Determine whether _Float16 is supported on this target.
Definition at line 516 of file TargetInfo.h.
|
inline |
Return true if {|} are normal characters in the asm string.
If this returns false (the default), then {abc|xyz} is syntax that says that when compiling for asm variant #0, "abc" should be generated, but when compiling for asm variant #1, "xyz" should be generated.
Definition at line 1172 of file TargetInfo.h.
Referenced by clang::GCCAsmStmt::AnalyzeAsmString().
|
inlinevirtual |
Does this target support "protected" visibility?
Any target which dynamic libraries will naturally support something like "default" (meaning that the symbol is visible outside this shared object) and "hidden" (meaning that it isn't) visibilities, but "protected" is really an ELF-specific concept with weird semantics designed around the convenience of dynamic linker implementations. Which is not to suggest that there's consistent target-independent semantics for "default" visibility either; the entire thing is pretty badly mangled.
Reimplemented in clang::targets::DarwinTargetInfo< PPC32TargetInfo >, clang::targets::DarwinTargetInfo< X86_64TargetInfo >, clang::targets::DarwinTargetInfo< PPC64TargetInfo >, clang::targets::DarwinTargetInfo< ARMleTargetInfo >, clang::targets::DarwinTargetInfo< AArch64leTargetInfo >, clang::targets::DarwinTargetInfo< X86_32TargetInfo >, and clang::targets::Le64TargetInfo.
Definition at line 984 of file TargetInfo.h.
|
inlinevirtual |
Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::PPCTargetInfo, clang::targets::SparcV8TargetInfo, clang::targets::ARMTargetInfo, and clang::targets::SparcTargetInfo.
Definition at line 1266 of file TargetInfo.h.
|
virtual |
Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::HexagonTargetInfo, and clang::targets::NVPTXTargetInfo.
Definition at line 386 of file TargetInfo.cpp.
Referenced by getCudaArch(), clang::targets::NVPTXTargetInfo::initFeatureMap(), clang::targets::HexagonTargetInfo::initFeatureMap(), clang::targets::SystemZTargetInfo::initFeatureMap(), clang::targets::ARMTargetInfo::initFeatureMap(), clang::targets::PPCTargetInfo::initFeatureMap(), clang::targets::MipsTargetInfo::initFeatureMap(), clang::targets::AMDGPUTargetInfo::initFeatureMap(), and clang::targets::X86TargetInfo::initFeatureMap().
|
inline |
Definition at line 1219 of file TargetInfo.h.
Referenced by EmitSignBit().
|
inlinevirtual |
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.
Reimplemented in clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::ARMTargetInfo, clang::targets::HexagonTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 751 of file TargetInfo.h.
|
inline |
Definition at line 1220 of file TargetInfo.h.
|
inlinevirtual |
Returns true if NaN encoding is IEEE 754-2008.
Only MIPS allows a different encoding.
Reimplemented in clang::targets::MipsTargetInfo.
Definition at line 950 of file TargetInfo.h.
|
inline |
Returns true for RenderScript.
Definition at line 762 of file TargetInfo.h.
|
inline |
Whether the target supports SEH __try.
Definition at line 1159 of file TargetInfo.h.
|
inline |
Whether the target supports thread-local storage.
Definition at line 1143 of file TargetInfo.h.
Referenced by clang::CodeGen::emitThreadPrivateVarInit(), clang::CodeGen::getOrCreateThreadPrivateCache(), hasFeature(), and clang::CodeGen::CodeGenModule::imbueXRayAttrs().
Returns true if the type is signed; false otherwise.
isTypeSigned - Return whether an integer types is signed.
Returns true if the type is signed; false otherwise.
Definition at line 303 of file TargetInfo.cpp.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by EvaluateValue(), and clang::ASTContext::InitBuiltinTypes().
bool TargetInfo::isValidClobber | ( | StringRef | Name | ) | const |
Returns whether the passed in string is a valid clobber in an inline asm statement.
isValidClobber - Returns whether the passed in string is a valid clobber in an inline asm statement.
This is used by Sema.
Definition at line 433 of file TargetInfo.cpp.
|
inlinevirtual |
brief Determine whether this TargetInfo supports the given CPU name.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::SparcV9TargetInfo, clang::targets::AVRTargetInfo, clang::targets::MipsTargetInfo, clang::targets::SparcTargetInfo, clang::targets::ARMTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::PPCTargetInfo, clang::targets::BPFTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::LanaiTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 1039 of file TargetInfo.h.
|
inlinevirtual |
Determine whether this TargetInfo supports the given feature.
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1066 of file TargetInfo.h.
|
virtual |
Returns whether the passed in string is a valid register name according to GCC.
isValidGCCRegisterName - Returns whether the passed in string is a valid register name according to GCC.
This is used by Sema for inline asm statements.
Reimplemented in clang::targets::BPFTargetInfo.
Definition at line 441 of file TargetInfo.cpp.
Referenced by AddVariableConstraints(), and extractRegisterName().
|
inlinevirtual |
An optional hook that targets can implement to perform semantic checking on attribute((section("foo"))) specifiers.
In this case, "foo" is passed in to be checked. If the section specifier is invalid, the backend should return a non-empty string that indicates the problem.
This hook is a simple quality of implementation feature to catch errors and give good diagnostics in cases when the assembler or code generator would otherwise reject the section specifier.
Reimplemented in clang::targets::DarwinTargetInfo< PPC32TargetInfo >, clang::targets::DarwinTargetInfo< X86_64TargetInfo >, clang::targets::DarwinTargetInfo< PPC64TargetInfo >, clang::targets::DarwinTargetInfo< ARMleTargetInfo >, clang::targets::DarwinTargetInfo< AArch64leTargetInfo >, and clang::targets::DarwinTargetInfo< X86_32TargetInfo >.
Definition at line 997 of file TargetInfo.h.
|
inline |
Whether target supports variable-length arrays.
Definition at line 1156 of file TargetInfo.h.
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1107 of file TargetInfo.h.
Referenced by AppendTargetMangling(), and TargetMVPriority().
|
inline |
Definition at line 658 of file TargetInfo.h.
Referenced by clang::CompilerInstance::ExecuteAction().
|
inlineprotected |
Definition at line 135 of file TargetInfo.h.
Referenced by clang::targets::AArch64leTargetInfo::AArch64leTargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), and clang::targets::WindowsARM64TargetInfo::setDataLayout().
bool TargetInfo::resolveSymbolicName | ( | const char *& | Name, |
ArrayRef< ConstraintInfo > | OutputConstraints, | ||
unsigned & | Index | ||
) | const |
Definition at line 601 of file TargetInfo.cpp.
|
inlinevirtual |
Use the specified ABI.
Reimplemented in clang::targets::PPC64TargetInfo, clang::targets::ARMTargetInfo, clang::targets::RISCV64TargetInfo, clang::targets::MipsTargetInfo, clang::targets::RISCV32TargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 1046 of file TargetInfo.h.
|
inlinevirtual |
Target the specified CPU.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::SparcV9TargetInfo, clang::targets::AVRTargetInfo, clang::targets::MipsTargetInfo, clang::targets::SparcTargetInfo, clang::targets::ARMTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::BPFTargetInfo, clang::targets::PPCTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::LanaiTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 1031 of file TargetInfo.h.
|
inlinevirtual |
Enable or disable a specific target feature; the feature name must be valid.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::PPCTargetInfo, and clang::targets::BPFTargetInfo.
Definition at line 1059 of file TargetInfo.h.
|
inlinevirtual |
Use the specified unit for FP math.
Reimplemented in clang::targets::X86TargetInfo, and clang::targets::ARMTargetInfo.
Definition at line 1053 of file TargetInfo.h.
|
inlinevirtual |
Set the maximum inline or promote width lock-free atomic operation for the given target.
Reimplemented in clang::targets::X86_64TargetInfo.
Definition at line 611 of file TargetInfo.h.
|
inlinevirtual |
Set supported OpenCL extensions as written on command line.
Definition at line 1285 of file TargetInfo.h.
|
inlinevirtual |
Set supported OpenCL extensions and optional core features.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::NVPTXTargetInfo, and clang::targets::SPIRTargetInfo.
Definition at line 1282 of file TargetInfo.h.
|
inline |
Identify whether this target supports IFuncs.
Definition at line 1099 of file TargetInfo.h.
Referenced by AppendCPUSpecificCPUDispatchMangling().
|
inline |
Identify whether this target supports multiversioning of functions, which requires support for cpu_supports and cpu_is functionality.
Definition at line 1093 of file TargetInfo.h.
|
inline |
Specify if mangling based on address space map should be used or not for language specific address spaces.
Definition at line 729 of file TargetInfo.h.
Referenced by isAddrSpaceMapManglingEnabled().
|
inline |
Check whether the alignment of bit-field types is respected when laying out structures.
Definition at line 664 of file TargetInfo.h.
Referenced by roundUpSizeToCharAlignment().
|
inline |
Check whether explicit bitfield alignment attributes should be.
Definition at line 682 of file TargetInfo.h.
Referenced by roundUpSizeToCharAlignment().
|
inlinevirtual |
Return true if the 'long double' type should be mangled like __float128.
Reimplemented in clang::targets::AndroidX86_64TargetInfo, clang::targets::PPCTargetInfo, and clang::targets::SystemZTargetInfo.
Definition at line 593 of file TargetInfo.h.
|
inlinevirtual |
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.
Reimplemented in clang::targets::X86TargetInfo, clang::targets::ARMTargetInfo, clang::targets::SPIRTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 723 of file TargetInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::ConvertType(), needsConversionOfHalfVec(), and clang::CodeGen::ConstantEmitter::tryEmitPrivate().
|
inline |
Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target.
Definition at line 715 of file TargetInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ReturnTypeUsesFP2Ret().
Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target.
Definition at line 709 of file TargetInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ReturnTypeUsesFPRet().
|
inline |
Check if the Objective-C built-in boolean type should be signed char.
Otherwise, if this returns false, the normal built-in boolean type should also be used for Objective-C.
Definition at line 655 of file TargetInfo.h.
|
inline |
Check whether zero length bitfields should force alignment of the next member.
Definition at line 670 of file TargetInfo.h.
Referenced by roundUpSizeToCharAlignment().
|
pure virtual |
Implemented in clang::targets::MipsTargetInfo, clang::targets::PPCTargetInfo, clang::targets::X86TargetInfo, clang::targets::ARMTargetInfo, clang::targets::AMDGPUTargetInfo, clang::targets::AVRTargetInfo, clang::targets::TCETargetInfo, clang::targets::LanaiTargetInfo, clang::targets::AArch64TargetInfo, clang::targets::SPIRTargetInfo, clang::targets::NVPTXTargetInfo, clang::targets::BPFTargetInfo, clang::targets::XCoreTargetInfo, clang::targets::SystemZTargetInfo, clang::targets::MSP430TargetInfo, clang::targets::PNaClTargetInfo, clang::targets::ARCTargetInfo, clang::targets::SparcTargetInfo, clang::targets::HexagonTargetInfo, clang::targets::RISCVTargetInfo, and clang::targets::Le64TargetInfo.
|
inlinevirtual |
Reimplemented in clang::targets::ARMTargetInfo, and clang::targets::AArch64TargetInfo.
Definition at line 921 of file TargetInfo.h.
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1113 of file TargetInfo.h.
Referenced by SemaBuiltinCpuIs().
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1117 of file TargetInfo.h.
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 1103 of file TargetInfo.h.
Referenced by SemaBuiltinCpuSupports().
|
inlinevirtual |
Validate register name used for global register variables.
This function returns true if the register passed in RegName can be used for global register variables on this target. In addition, it returns true in HasSizeMismatch if the size of the register doesn't match the variable size passed in RegSize.
Reimplemented in clang::targets::X86_64TargetInfo, and clang::targets::X86TargetInfo.
Definition at line 897 of file TargetInfo.h.
bool TargetInfo::validateInputConstraint | ( | MutableArrayRef< ConstraintInfo > | OutputConstraints, |
ConstraintInfo & | info | ||
) | const |
Definition at line 624 of file TargetInfo.cpp.
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 916 of file TargetInfo.h.
bool TargetInfo::validateOutputConstraint | ( | ConstraintInfo & | Info | ) | const |
Definition at line 527 of file TargetInfo.cpp.
Referenced by AddVariableConstraints().
|
inlinevirtual |
Reimplemented in clang::targets::X86TargetInfo.
Definition at line 911 of file TargetInfo.h.
|
inlinevirtual |
Check the target is valid after it is fully initialized.
Reimplemented in clang::targets::MipsTargetInfo.
Definition at line 1337 of file TargetInfo.h.
|
protected |
Definition at line 81 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 102 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 81 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 119 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 60 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 69 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 69 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 126 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 113 of file TargetInfo.h.
Referenced by clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo().
|
protected |
Definition at line 106 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 73 of file TargetInfo.h.
Referenced by adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 115 of file TargetInfo.h.
Referenced by adjust(), and TargetInfo().
|
protected |
Definition at line 73 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 74 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 115 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 72 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 115 of file TargetInfo.h.
Referenced by adjust(), and TargetInfo().
|
protected |
Definition at line 72 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 71 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 115 of file TargetInfo.h.
Referenced by adjust(), and TargetInfo().
|
protected |
Definition at line 71 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 124 of file TargetInfo.h.
Referenced by clang::targets::DarwinARMTargetInfo::DarwinARMTargetInfo(), and TargetInfo().
|
protected |
Definition at line 128 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), and TargetInfo().
|
protected |
Definition at line 66 of file TargetInfo.h.
Referenced by clang::targets::PPCTargetInfo::handleTargetFeatures(), clang::targets::PPCTargetInfo::hasFeature(), and TargetInfo().
|
protected |
Definition at line 67 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::handleTargetFeatures(), and TargetInfo().
|
protected |
Definition at line 64 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::handleTargetFeatures(), and TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 70 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 70 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 130 of file TargetInfo.h.
Referenced by clang::targets::RenderScript32TargetInfo::RenderScript32TargetInfo(), clang::targets::RenderScript64TargetInfo::RenderScript64TargetInfo(), and TargetInfo().
|
protected |
Definition at line 75 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 75 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 82 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 103 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 82 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 76 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RenderScript32TargetInfo::RenderScript32TargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 74 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 115 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 74 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 85 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 85 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 77 of file TargetInfo.h.
Referenced by adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 77 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 76 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RenderScript32TargetInfo::RenderScript32TargetInfo(), clang::targets::RISCV64TargetInfo::RISCV64TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
|
protected |
Definition at line 108 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), and TargetInfo().
|
protected |
Definition at line 110 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 109 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), and TargetInfo().
|
protected |
Definition at line 114 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), and TargetInfo().
|
protected |
Definition at line 107 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 112 of file TargetInfo.h.
Referenced by adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 63 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 92 of file TargetInfo.h.
Referenced by adjust(), and TargetInfo().
|
mutableprotected |
Definition at line 122 of file TargetInfo.h.
Referenced by TargetInfo().
|
mutableprotected |
Definition at line 121 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
|
protected |
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 125 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 117 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 80 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 101 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 80 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 83 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 83 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 111 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by adjust(), clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCV32TargetInfo::RISCV32TargetInfo(), TargetInfo(), and clang::targets::WindowsARM64TargetInfo::WindowsARM64TargetInfo().
|
protected |
Definition at line 117 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 105 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and TargetInfo().
|
protected |
Definition at line 118 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::DarwinARMTargetInfo::DarwinARMTargetInfo(), clang::targets::ItaniumWindowsARMleTargetInfo::ItaniumWindowsARMleTargetInfo(), clang::targets::MicrosoftARM64TargetInfo::MicrosoftARM64TargetInfo(), clang::targets::MicrosoftARMleTargetInfo::MicrosoftARMleTargetInfo(), clang::targets::MinGWARM64TargetInfo::MinGWARM64TargetInfo(), clang::targets::MinGWARMTargetInfo::MinGWARMTargetInfo(), and TargetInfo().
|
protected |
Definition at line 61 of file TargetInfo.h.
Referenced by clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and TargetInfo().
|
protected |
Specify if mangling based on address space map should be used or not for language specific address spaces.
Definition at line 256 of file TargetInfo.h.
Referenced by clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Control whether the alignment of bit-field types is respected when laying out structures.
If true, then the alignment of the bit-field type will be used to (a) impact the alignment of the containing structure, and (b) ensure that the individual bit-field will not straddle an alignment boundary.
Definition at line 237 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Whether explicit bit field alignment attributes are honored.
Definition at line 248 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Whether Objective-C's built-in boolean type should be signed char.
Otherwise, when this flag is not set, the normal built-in boolean type is used.
Definition at line 230 of file TargetInfo.h.
Referenced by clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::DarwinARMTargetInfo::DarwinARMTargetInfo(), and TargetInfo().
|
protected |
Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield.
If the alignment of the zero length bitfield is greater than the member that follows it, `bar', `bar' will be aligned as the type of the zero-length bitfield.
Definition at line 245 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 62 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), adjust(), clang::targets::CygwinARMTargetInfo::CygwinARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and TargetInfo().
|
protected |
Definition at line 222 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), clang::targets::RISCVTargetInfo::RISCVTargetInfo(), and TargetInfo().
|
protected |
If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type.
Definition at line 252 of file TargetInfo.h.
Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and TargetInfo().