|
clang
5.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 } |
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 | 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 |
| 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 (unsigned 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 |
| virtual bool | hasInt128Type () const |
| Determine whether the __int128 type is supported on this target. More... | |
| virtual bool | hasFloat128Type () const |
| Determine whether the __float128 type is supported on this target. More... | |
| unsigned | getSuitableAlign () const |
| Return the alignment that is suitable for storing any object with a fundamental alignment requirement. More... | |
| unsigned | getDefaultAlignForAttributeAligned () const |
| Return the default alignment for attribute((aligned)) on this target, to be used if no alignment value is specified. More... | |
| unsigned | getMinGlobalAlign () const |
| getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes. More... | |
| unsigned | getNewAlign () const |
| Return the largest alignment for which a suitably-sized allocation with '::operator new(size_t)' is guaranteed to produce a correctly-aligned pointer. More... | |
| unsigned | getWCharWidth () const |
| getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits. More... | |
| unsigned | getWCharAlign () const |
| unsigned | getChar16Width () const |
| getChar16Width/Align - Return the size of 'char16_t' for this target, in bits. More... | |
| unsigned | getChar16Align () const |
| unsigned | getChar32Width () const |
| getChar32Width/Align - Return the size of 'char32_t' for this target, in bits. More... | |
| unsigned | getChar32Align () const |
| unsigned | getHalfWidth () const |
| getHalfWidth/Align/Format - Return the size/align/format of 'half'. More... | |
| unsigned | getHalfAlign () const |
| const llvm::fltSemantics & | getHalfFormat () const |
| unsigned | getFloatWidth () const |
| getFloatWidth/Align/Format - Return the size/align/format of 'float'. More... | |
| unsigned | getFloatAlign () const |
| const llvm::fltSemantics & | getFloatFormat () const |
| unsigned | getDoubleWidth () const |
| getDoubleWidth/Align/Format - Return the size/align/format of 'double'. More... | |
| unsigned | getDoubleAlign () const |
| const llvm::fltSemantics & | getDoubleFormat () const |
| unsigned | getLongDoubleWidth () const |
| getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'. More... | |
| unsigned | getLongDoubleAlign () const |
| const llvm::fltSemantics & | getLongDoubleFormat () const |
| unsigned | getFloat128Width () const |
| getFloat128Width/Align/Format - Return the size/align/format of '__float128'. More... | |
| unsigned | getFloat128Align () const |
| const llvm::fltSemantics & | getFloat128Format () const |
| virtual bool | useFloat128ManglingForLongDouble () const |
| Return true if the 'long double' type should be mangled like __float128. More... | |
| virtual unsigned | getFloatEvalMethod () const |
| Return the value for the C99 FLT_EVAL_METHOD macro. More... | |
| unsigned | getLargeArrayMinWidth () const |
| unsigned | getLargeArrayAlign () const |
| unsigned | getMaxAtomicPromoteWidth () const |
| Return the maximum width lock-free atomic operation which will ever be supported for the given target. More... | |
| unsigned | getMaxAtomicInlineWidth () const |
| Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target. More... | |
| virtual 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... | |
| virtual unsigned | getExnObjectAlignment () const |
| Return the alignment (in bits) of the thrown exception object. 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... | |
| 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... | |
| 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 (const StringRef &Constraint, const StringRef &Expression) const |
| 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 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 | 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... | |
| virtual bool | validateCpuSupports (StringRef Name) 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 | 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 LangAS::Map & | getAddressSpaceMap () const |
| virtual llvm::Optional< unsigned > | 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 bool | hasSjLjLowering () const |
| Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp. 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::ID | getOpenCLImageAddrSpace () const |
| Get OpenCL image type address space. More... | |
| virtual unsigned | getVtblPtrAddressSpace () const |
| virtual Optional< unsigned > | getDWARFAddressSpace (unsigned AddressSpace) 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 |
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 151 of file TargetInfo.h.
| Enumerator | |
|---|---|
| CCCR_OK | |
| CCCR_Warning | |
| CCCR_Ignore | |
Definition at line 1006 of file TargetInfo.h.
| Enumerator | |
|---|---|
| CCMT_Unknown | |
| CCMT_Member | |
| CCMT_NonMember | |
Definition at line 991 of file TargetInfo.h.
===-— Target Data Type Query Methods ----------------------------—===//
| Enumerator | |
|---|---|
| NoInt | |
| SignedChar | |
| UnsignedChar | |
| SignedShort | |
| UnsignedShort | |
| SignedInt | |
| UnsignedInt | |
| SignedLong | |
| UnsignedLong | |
| SignedLongLong | |
| UnsignedLongLong | |
Definition at line 127 of file TargetInfo.h.
| Enumerator | |
|---|---|
| NoFloat | |
| Float | |
| Double | |
| LongDouble | |
| Float128 | |
Definition at line 141 of file TargetInfo.h.
|
protected |
Definition at line 27 of file TargetInfo.cpp.
References AddrSpaceMap, BigEndian, BoolAlign, BoolWidth, Char16Type, Char32Type, ComplexLongDoubleUsesFP2Ret, DefaultAddrSpaceMap, DefaultAlignForAttributeAligned, DoubleAlign, DoubleFormat, DoubleWidth, Float128Align, Float128Format, FloatAlign, FloatFormat, FloatWidth, clang::TargetCXXABI::GenericItanium, HalfAlign, HalfFormat, HalfWidth, HasAlignMac68kSupport, HasBuiltinMSVaList, HasFloat128, Int64Type, IntAlign, IntMaxType, IntPtrType, IntWidth, IsRenderScriptTarget, LargeArrayAlign, LargeArrayMinWidth, LongAlign, LongDoubleAlign, LongDoubleFormat, LongDoubleWidth, LongLongAlign, LongLongWidth, LongWidth, MaxAtomicInlineWidth, MaxAtomicPromoteWidth, MaxTLSAlign, MaxVectorAlign, MCountName, clang::TargetCXXABI::Microsoft, MinGlobalAlign, NewAlign, NoAsmVariants, PlatformMinVersion, PlatformName, PointerAlign, PointerWidth, ProcessIDType, PtrDiffType, RealTypeUsesObjCFPRet, RegParmMax, clang::TargetCXXABI::set(), SigAtomicType, SignedInt, SignedLong, SignedLongLong, SimdDefaultAlign, SizeType, SSERegParmMax, SuitableAlign, TheCXXABI, TLSSupported, UnsignedInt, UnsignedLong, UnsignedShort, UseAddrSpaceMapMangling, UseBitFieldTypeAlignment, UseExplicitBitFieldAlignment, UseSignedCharForObjCBool, UseZeroLengthBitfieldAlignment, WCharType, WIntType, and ZeroLengthBitfieldBoundary.
|
virtual |
Definition at line 113 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.
Definition at line 289 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, PtrDiffType, SignedInt, SignedLong, SignedLongLong, SizeType, UnsignedInt, UnsignedLong, UnsignedShort, UseBitFieldTypeAlignment, and WCharType.
Referenced by clang::CompilerInstance::ExecuteAction().
|
inlinevirtual |
Adjust target options based on codegen options.
Definition at line 846 of file TargetInfo.h.
Referenced by clang::CompilerInstance::ExecuteAction().
|
inlinevirtual |
Whether target allows to overalign ABI-specified preferred alignment.
Definition at line 1032 of file TargetInfo.h.
Referenced by clang::ASTContext::getPreferredTypeAlign().
|
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).
Definition at line 1016 of file TargetInfo.h.
References clang::CC_C, CCCR_OK, and CCCR_Warning.
Referenced by clang::Sema::CheckCallingConvAttr().
|
inlinevirtual |
Definition at line 775 of file TargetInfo.h.
Referenced by SimplifyConstraint().
|
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 9986 of file Targets.cpp.
References AllocateTarget(), and clang::DiagnosticsEngine::Report().
Referenced by clang::PrecompiledPreamble::Build(), clang::ASTUnit::CodeComplete(), clang::createChainedIncludesSource(), clang::CompilerInstance::ExecuteAction(), and clang::ASTUnit::LoadFromCompilerInvocationAction().
|
inlinevirtual |
Get the ABI currently in use.
Definition at line 858 of file TargetInfo.h.
Referenced by clang::CodeGen::CodeGenModule::getTargetCodeGenInfo().
|
inline |
Definition at line 968 of file TargetInfo.h.
References AddrSpaceMap.
Referenced by getAddressSpaceMap().
|
inline |
Return the alignment of '_Bool' and C++ 'bool' for this target.
Definition at line 329 of file TargetInfo.h.
References BoolAlign.
|
inline |
Return the size of '_Bool' and C++ 'bool' for this target, in bits.
Definition at line 326 of file TargetInfo.h.
References BoolWidth.
|
pure virtual |
Returns the kind of __builtin_va_list type that should be used with this target.
Referenced by clang::Sema::BuildVAArgExpr(), and clang::ASTContext::getBuiltinVaListDecl().
|
inline |
Definition at line 394 of file TargetInfo.h.
References Char16Type, and getTypeAlign().
|
inline |
Definition at line 256 of file TargetInfo.h.
References Char16Type.
Referenced by InitializePredefinedMacros().
|
inline |
getChar16Width/Align - Return the size of 'char16_t' for this target, in bits.
Definition at line 393 of file TargetInfo.h.
References Char16Type, and getTypeWidth().
Referenced by EvaluateValue(), and getCharWidth().
|
inline |
Definition at line 399 of file TargetInfo.h.
References Char32Type, and getTypeAlign().
|
inline |
Definition at line 257 of file TargetInfo.h.
References Char32Type.
Referenced by InitializePredefinedMacros().
|
inline |
getChar32Width/Align - Return the size of 'char32_t' for this target, in bits.
Definition at line 398 of file TargetInfo.h.
References Char32Type, and getTypeWidth().
Referenced by EvaluateValue(), and getCharWidth().
|
inline |
Definition at line 332 of file TargetInfo.h.
Referenced by clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), getTypeAlign(), and roundUpSizeToCharAlignment().
|
inline |
Definition at line 331 of file TargetInfo.h.
Referenced by clang::Sema::ActOnEnumBody(), adjust(), clang::CharLiteralParser::CharLiteralParser(), DefineTypeSizeof(), EvaluateValue(), getCharWidth(), clang::ASTContext::getDeclAlign(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeConstantSuffix(), getTypeWidth(), hasBuiltinAtomic(), InitializePredefinedMacros(), InitializeStandardPredefinedMacros(), and parseModeAttrArg().
|
pure virtual |
Returns a string of target-specific clobbers, in LLVM format.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
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.
Definition at line 976 of file TargetInfo.h.
References clang::LangAS::Default.
Referenced by createReferenceTemporary().
|
inlinevirtual |
Definition at line 629 of file TargetInfo.h.
Referenced by getClobberConflictLocation().
Definition at line 265 of file TargetInfo.h.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by getUInt64Type(), getUIntMaxType(), and getUIntPtrType().
|
inline |
Get the C++ ABI currently in use.
Definition at line 861 of file TargetInfo.h.
References TheCXXABI.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnTag(), clang::Sema::AddImplicitlyDeclaredMembersToClass(), clang::Sema::adjustMemberFunctionCC(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), basicGVALinkageForFunction(), basicGVALinkageForVariable(), BuildAppleKextVirtualCall(), clang::Sema::BuildArrayType(), canEmitDelegateCallArgs(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckBaseSpecifier(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckCXXThrowOperand(), checkDLLAttributeRedeclaration(), checkForMultipleExportedDefaultConstructors(), clang::Sema::CheckParmsForFunctionDef(), computeKeyFunction(), createCXXABI(), clang::CodeGen::CreateItaniumCXXABI(), clang::ASTContext::createMangleContext(), deactivateArgCleanupsBeforeCall(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefineUsedVTables(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::CGCXXABI::EmitCtorCompleteObjectHandler(), clang::CodeGen::CodeGenFunction::EmitCtorPrologue(), clang::CodeGen::CodeGenFunction::EmitInheritedCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::Sema::FixOverloadedFunctionReference(), clang::FunctionDecl::getBuiltinID(), getCallingConvMangling(), getConstantArrayInfoInChars(), clang::CodeGen::CodeGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getMangledName(), clang::ASTContext::getVTableContext(), clang::CodeGen::CodeGenModule::getVTableLinkage(), handleDLLAttr(), clang::CodeGen::CodeGenTypes::inheritingCtorHasParams(), clang::Sema::InstantiateClassMembers(), InstantiateDefaultCtorDefaultArgs(), clang::Sema::InstantiateFunctionDefinition(), clang::Type::isIncompleteType(), clang::FunctionDecl::isMSExternInline(), isMsLayout(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), isVarDeclStrongDefinition(), clang::CodeGen::CodeGenVTables::isVTableExternal(), clang::MangleContext::mangleName(), clang::Sema::MarkVTableUsed(), clang::Sema::PerformImplicitConversion(), TryReinterpretCast(), TryStaticMemberPointerUpcast(), and clang::Sema::VerifyBitField().
|
inline |
Definition at line 796 of file TargetInfo.h.
References DataLayout.
Referenced by clang::CodeGenAction::ExecuteAction(), clang::BackendConsumer::HandleTranslationUnit(), InitializePredefinedMacros(), 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 371 of file TargetInfo.h.
References DefaultAlignForAttributeAligned.
Referenced by getExnObjectAlignment(), and clang::ASTContext::getTargetDefaultAlignForAttributeAligned().
|
inlinevirtual |
Gets the default calling convention for the given target and declaration context.
Definition at line 999 of file TargetInfo.h.
References clang::CC_C.
Referenced by clang::ASTContext::getDefaultCallingConvention().
|
inline |
Definition at line 413 of file TargetInfo.h.
References DoubleAlign.
|
inline |
Definition at line 414 of file TargetInfo.h.
References DoubleFormat.
Referenced by clang::ASTContext::getFloatTypeSemantics(), and InitializePredefinedMacros().
|
inline |
getDoubleWidth/Align/Format - Return the size/align/format of 'double'.
Definition at line 412 of file TargetInfo.h.
References DoubleWidth.
Referenced by getRealTypeByWidth(), and InitializePredefinedMacros().
|
inlinevirtual |
AddressSpace to be converted in order to be used, then return the corresponding target specific DWARF address space.Definition at line 1070 of file TargetInfo.h.
References clang::None.
|
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.
Definition at line 959 of file TargetInfo.h.
|
inlinevirtual |
Return the alignment (in bits) of the thrown exception object.
This is only meaningful for targets that allocate C++ exceptions in a system runtime, such as those using the Itanium C++ ABI.
Definition at line 470 of file TargetInfo.h.
References getDefaultAlignForAttributeAligned().
|
inline |
Definition at line 427 of file TargetInfo.h.
References Float128Align.
|
inline |
Definition at line 428 of file TargetInfo.h.
References Float128Format.
Referenced by clang::ASTContext::getFloatTypeSemantics().
|
inline |
getFloat128Width/Align/Format - Return the size/align/format of '__float128'.
Definition at line 426 of file TargetInfo.h.
|
inline |
Definition at line 408 of file TargetInfo.h.
References FloatAlign.
|
inlinevirtual |
Return the value for the C99 FLT_EVAL_METHOD macro.
Definition at line 437 of file TargetInfo.h.
Referenced by InitializePredefinedMacros().
|
inline |
Definition at line 409 of file TargetInfo.h.
References FloatFormat.
Referenced by clang::ASTContext::getFloatTypeSemantics(), and InitializePredefinedMacros().
|
inline |
getFloatWidth/Align/Format - Return the size/align/format of 'float'.
Definition at line 407 of file TargetInfo.h.
References FloatWidth.
Referenced by getRealTypeByWidth(), and InitializePredefinedMacros().
|
inlineprotectedvirtual |
Definition at line 1091 of file TargetInfo.h.
References clang::None.
Referenced by getNormalizedGCCRegisterName(), and isValidGCCRegisterName().
|
protectedpure virtual |
Referenced by getNormalizedGCCRegisterName(), and isValidGCCRegisterName().
|
protectedpure virtual |
Referenced by getNormalizedGCCRegisterName(), and isValidGCCRegisterName().
|
inline |
Definition at line 403 of file TargetInfo.h.
References HalfAlign.
|
inline |
Definition at line 404 of file TargetInfo.h.
References HalfFormat.
Referenced by clang::ASTContext::getFloatTypeSemantics().
|
inline |
getHalfWidth/Align/Format - Return the size/align/format of 'half'.
Definition at line 402 of file TargetInfo.h.
References HalfWidth.
|
inline |
Definition at line 258 of file TargetInfo.h.
References Int64Type.
Referenced by DecodeTypeFromStr(), DefineExactWidthIntType(), and DefineExactWidthIntTypeSize().
|
inline |
Definition at line 345 of file TargetInfo.h.
References IntAlign.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule(), and getTypeAlign().
|
inline |
Return the size of intmax_t and uintmax_t for this target, in bits.
Definition at line 483 of file TargetInfo.h.
References getTypeWidth(), and IntMaxType.
|
inline |
Definition at line 243 of file TargetInfo.h.
References IntMaxType.
Referenced by clang::ASTContext::getIntMaxType(), and InitializePredefinedMacros().
|
inline |
Definition at line 250 of file TargetInfo.h.
References IntPtrType.
Referenced by clang::ASTContext::getIntPtrType(), and InitializePredefinedMacros().
|
virtual |
Return integer type with specified width.
Definition at line 194 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::ASTContext::getIntTypeForBitwidth().
|
inline |
getIntWidth/Align - Return the size of 'signed int' and 'unsigned int' for this target, in bits.
Definition at line 344 of file TargetInfo.h.
References IntWidth.
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnIntegerConstant(), clang::Sema::BuildCXXNew(), clang::CharLiteralParser::CharLiteralParser(), clang::Sema::CheckEnumConstant(), clang::CodeGen::CodeGenModule::CodeGenModule(), EvaluateValue(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeConstantSuffix(), getTypeWidth(), and InitializePredefinedMacros().
|
inline |
Definition at line 442 of file TargetInfo.h.
References LargeArrayAlign.
Referenced by clang::ASTContext::getDeclAlign().
|
inline |
Definition at line 441 of file TargetInfo.h.
References LargeArrayMinWidth.
Referenced by clang::ASTContext::getDeclAlign().
|
virtual |
Return the smallest integer type with at least the specified width.
Definition at line 209 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getLongLongWidth(), getLongWidth(), getShortWidth(), NoInt, SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by DefineFastIntType(), and DefineLeastWidthIntType().
|
inline |
|
inline |
Definition at line 419 of file TargetInfo.h.
References LongDoubleAlign.
|
inline |
Definition at line 420 of file TargetInfo.h.
References LongDoubleFormat.
Referenced by clang::ASTContext::getFloatTypeSemantics(), getRealTypeByWidth(), and InitializePredefinedMacros().
|
inline |
getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'.
Definition at line 418 of file TargetInfo.h.
References LongDoubleWidth.
Referenced by InitializePredefinedMacros().
|
inline |
Definition at line 355 of file TargetInfo.h.
References LongLongAlign.
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 354 of file TargetInfo.h.
References LongLongWidth.
Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnNumericConstant(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeWidth(), and InitializePredefinedMacros().
|
inline |
getLongWidth/Align - Return the size of 'signed long' and 'unsigned long' for this target, in bits.
Definition at line 349 of file TargetInfo.h.
References LongWidth.
Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnGNUNullExpr(), DecodeTypeFromStr(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getObjCEncodingForPrimitiveKind(), getTypeWidth(), and InitializePredefinedMacros().
|
inline |
Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target.
Definition at line 449 of file TargetInfo.h.
References MaxAtomicInlineWidth.
Referenced by clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), hasBuiltinAtomic(), and InitializePredefinedMacros().
|
inline |
Return the maximum width lock-free atomic operation which will ever be supported for the given target.
Definition at line 446 of file TargetInfo.h.
References MaxAtomicPromoteWidth.
|
inlinevirtual |
Return the maximum width of pointers on this target.
Definition at line 315 of file TargetInfo.h.
References PointerWidth.
Referenced by adjust(), clang::CodeGen::CodeGenModule::CodeGenModule(), and clang::ASTContext::getConstantArrayType().
|
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 934 of file TargetInfo.h.
References MaxTLSAlign.
Referenced by clang::Sema::AddAlignedAttr(), and clang::Sema::FinalizeDeclaration().
|
inline |
Return the maximum vector alignment supported for the given target.
Definition at line 461 of file TargetInfo.h.
References MaxVectorAlign.
|
inline |
Returns the name of the mcount instrumentation function.
Definition at line 499 of file TargetInfo.h.
References MCountName.
|
inline |
getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes.
Definition at line 377 of file TargetInfo.h.
References MinGlobalAlign.
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 382 of file TargetInfo.h.
References LongDoubleAlign, LongLongAlign, max(), and NewAlign.
Referenced by clang::Sema::BuildCXXNew(), clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), hasNewExtendedAlignment(), and InitializeStandardPredefinedMacros().
| 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 416 of file TargetInfo.cpp.
References getGCCAddlRegNames(), getGCCRegAliases(), getGCCRegNames(), clang::isDigit(), isValidGCCRegisterName(), Name, clang::ast_matchers::internal::Names(), and removeGCCRegisterPrefix().
Referenced by AddVariableConstraints(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), extractRegisterName(), and getClobberConflictLocation().
|
inlinevirtual |
Get integer value for null pointer.
| AddrSpace | address space of pointee in source language. |
Definition at line 321 of file TargetInfo.h.
Referenced by clang::ASTContext::getTargetNullPointerValue().
|
inlinevirtual |
Get OpenCL image type address space.
Definition at line 1055 of file TargetInfo.h.
References clang::LangAS::opencl_global.
Referenced by clang::CodeGen::CGOpenCLRuntime::convertOpenCLSpecificType().
|
inline |
Retrieve the minimum desired version of the platform, to which the program should be compiled.
Definition at line 986 of file TargetInfo.h.
References PlatformMinVersion.
Referenced by CheckAvailability(), checkObjCMethodX86VectorTypes(), and DoEmitAvailabilityWarning().
|
inline |
Retrieve the name of the platform as it is used in the availability attribute.
Definition at line 982 of file TargetInfo.h.
References PlatformName.
Referenced by clang::Sema::ActOnObjCAvailabilityCheckExpr(), CheckAvailability(), getAttrForPlatform(), and clang::Decl::getVersionIntroduced().
|
inline |
Definition at line 310 of file TargetInfo.h.
References getPointerAlignV(), and PointerAlign.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule(), and InitializePredefinedMacros().
|
inlineprotectedvirtual |
Definition at line 1083 of file TargetInfo.h.
References PointerAlign.
Referenced by getPointerAlign().
|
inline |
Return the width of pointers on this target, for the specified address space.
Definition at line 307 of file TargetInfo.h.
References getPointerWidthV(), and PointerWidth.
Referenced by clang::Sema::ActOnGNUNullExpr(), clang::CodeGen::CodeGenModule::CodeGenModule(), clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), clang::Sema::FindAllocationFunctions(), getConstantArrayInfoInChars(), clang::CodeGen::swiftcall::getMaximumVoluntaryIntegerSize(), GetNumNonZeroBytesInInit(), getUnwindWordWidth(), hasInt128Type(), InitializePredefinedMacros(), clang::MangleContext::mangleName(), occupiesMoreThan(), and parseModeAttrArg().
|
inlineprotectedvirtual |
Definition at line 1080 of file TargetInfo.h.
References PointerWidth.
Referenced by getPointerWidth().
|
inline |
Definition at line 263 of file TargetInfo.h.
References ProcessIDType.
Referenced by clang::ASTContext::getProcessIDType().
Definition at line 247 of file TargetInfo.h.
References getPtrDiffTypeV(), and PtrDiffType.
Referenced by clang::ASTContext::getPointerDiffType(), and InitializePredefinedMacros().
|
inlineprotectedvirtual |
Definition at line 1086 of file TargetInfo.h.
References PtrDiffType.
Referenced by getPtrDiffType().
| TargetInfo::RealType TargetInfo::getRealTypeByWidth | ( | unsigned | BitWidth | ) | const |
Return floating point type with specified width.
Definition at line 224 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.
Definition at line 491 of file TargetInfo.h.
References PointerWidth.
Referenced by parseModeAttrArg().
|
inline |
Definition at line 920 of file TargetInfo.h.
References RegParmMax.
Referenced by clang::Sema::CheckRegparmAttr().
|
inline |
Return the alignment of 'signed short' and 'unsigned short' for this target.
Definition at line 340 of file TargetInfo.h.
Referenced by getTypeAlign().
|
inline |
Return the size of 'signed short' and 'unsigned short' for this target, in bits.
Definition at line 336 of file TargetInfo.h.
Referenced by clang::Sema::ActOnEnumBody(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeConstantSuffix(), getTypeWidth(), and InitializePredefinedMacros().
|
inline |
Definition at line 262 of file TargetInfo.h.
References SigAtomicType.
Referenced by InitializePredefinedMacros().
|
inline |
Definition at line 229 of file TargetInfo.h.
References SignedInt, SignedLong, SignedLongLong, SignedShort, SizeType, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by clang::ASTContext::getSignedSizeType().
|
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 465 of file TargetInfo.h.
References SimdDefaultAlign.
Referenced by clang::ASTContext::getOpenMPDefaultSimdAlign().
|
inline |
Definition at line 228 of file TargetInfo.h.
References SizeType.
Referenced by clang::ASTContext::getSizeType(), InitializePredefinedMacros(), and InitializeStandardPredefinedMacros().
|
inlinevirtual |
Return the section to use for C++ static initialization functions.
Definition at line 964 of file TargetInfo.h.
|
inline |
Return the alignment that is suitable for storing any object with a fundamental alignment requirement.
Definition at line 367 of file TargetInfo.h.
References SuitableAlign.
Referenced by InitializePredefinedMacros().
|
inline |
Get supported OpenCL extensions and optional core features.
Definition at line 1045 of file TargetInfo.h.
References getTargetOpts(), and clang::TargetOptions::SupportedOpenCLOptions.
Referenced by clang::Sema::Initialize().
|
inline |
Get const supported OpenCL extensions and optional core features.
Definition at line 1050 of file TargetInfo.h.
References getTargetOpts(), and clang::TargetOptions::SupportedOpenCLOptions.
|
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.
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.
Referenced by InitializePredefinedMacros().
|
inline |
Retrieve the target options.
Definition at line 121 of file TargetInfo.h.
Referenced by clang::CodeGen::CodeGenModule::getFunctionFeatureMap(), getSupportedOpenCLOpts(), and setOpenCLExtensionOpts().
|
inline |
Returns the target triple of the primary target.
Definition at line 792 of file TargetInfo.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnMethodDeclaration(), clang::Sema::AddAlignedAttr(), clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::arcmt::trans::canApplyWeak(), clang::Sema::CheckCallingConvAttr(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckMain(), checkObjCMethodX86VectorTypes(), checkVAStartABI(), configureBlocksRuntimeObject(), clang::CodeGen::CreateItaniumCXXABI(), diagnoseUnavailableAlignedAllocation(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitCapturedLocals(), emitGlobalDtorWithCXAAtExit(), clang::CodeGen::CodeGenFunction::EmitSEHExceptionCodeSave(), clang::CodeGen::CodeGenFunction::EmitTargetBuiltinExpr(), clang::CodeGen::CodeGenFunction::EnterSEHTryStmt(), clang::CompilerInstance::ExecuteAction(), clang::CodeGen::CodeGenFunction::ExitSEHTryStmt(), clang::CodeGen::EHPersonality::get(), clang::analyze_printf::PrintfSpecifier::getArgType(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCallingConvMangling(), getCodegenToUse(), clang::CodeGen::CodeGenModule::getTargetCodeGenInfo(), clang::CodeGen::CodeGenModule::getTriple(), getVisibilityOf(), handleAliasAttr(), handleAnyX86InterruptAttr(), handleAvailabilityAttr(), handleIFuncAttr(), handleInterruptAttr(), handleNakedAttr(), handleWeakImportAttr(), clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier(), InitializePredefinedMacros(), clang::Sema::InstantiateClassMembers(), clang::CodeGen::ABIInfo::isAndroid(), isArc4RandomAvailable(), clang::FunctionDecl::isMSVCRTEntryPoint(), isPermittedNeonBaseType(), isSEHTrySupported(), isThreadWrapperReplaceable(), ParsePrintfSpecifier(), ParseScanfSpecifier(), clang::CodeGen::CodeGenModule::Release(), shouldDiagnoseAvailabilityByDefault(), clang::CodeGen::CodeGenFunction::startOutlinedSEHHelper(), Write__class_ro_t_initializer(), and WriteModernMetadataDeclarations().
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 249 of file TargetInfo.cpp.
References getCharAlign(), getIntAlign(), getLongAlign(), getLongLongAlign(), getShortAlign(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by getChar16Align(), getChar32Align(), and getWCharAlign().
| 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 135 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by DefineExactWidthIntType(), DefineTypeSize(), InitializePredefinedMacros(), and InitializeStandardPredefinedMacros().
|
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 160 of file TargetInfo.cpp.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by DefineFmt().
|
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 117 of file TargetInfo.cpp.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by DefineType().
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 178 of file TargetInfo.cpp.
References getCharWidth(), getIntWidth(), getLongLongWidth(), getLongWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by DefineExactWidthIntType(), DefineExactWidthIntTypeSize(), DefineTypeSize(), DefineTypeWidth(), getChar16Width(), getChar32Width(), getIntMaxTWidth(), getWCharWidth(), and InitializePredefinedMacros().
|
inline |
Definition at line 259 of file TargetInfo.h.
References getCorrespondingUnsignedType(), and Int64Type.
Referenced by DefineExactWidthIntType(), and DefineExactWidthIntTypeSize().
|
inline |
Definition at line 244 of file TargetInfo.h.
References getCorrespondingUnsignedType(), and IntMaxType.
Referenced by clang::ASTContext::getUIntMaxType(), and InitializePredefinedMacros().
|
inline |
Definition at line 251 of file TargetInfo.h.
References getCorrespondingUnsignedType(), and IntPtrType.
Referenced by InitializePredefinedMacros().
|
inlinevirtual |
Definition at line 488 of file TargetInfo.h.
References getPointerWidth().
Referenced by parseModeAttrArg().
|
inlinevirtual |
Definition at line 1060 of file TargetInfo.h.
|
inline |
Definition at line 389 of file TargetInfo.h.
References getTypeAlign(), and WCharType.
|
inline |
Definition at line 254 of file TargetInfo.h.
References WCharType.
Referenced by EvaluateValue(), and InitializePredefinedMacros().
|
inline |
getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits.
Definition at line 388 of file TargetInfo.h.
References getTypeWidth(), and WCharType.
Referenced by clang::CharLiteralParser::CharLiteralParser(), EvaluateValue(), getCharWidth(), and clang::CodeGen::CodeGenModule::Release().
|
inline |
Definition at line 255 of file TargetInfo.h.
References WIntType.
Referenced by InitializePredefinedMacros().
|
inline |
Get the fixed alignment value in bits for a member that follows a zero length bitfield.
Definition at line 529 of file TargetInfo.h.
References ZeroLengthBitfieldBoundary.
|
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.
Definition at line 905 of file TargetInfo.h.
|
inline |
Check whether this target support '#pragma options align=mac68k'.
Definition at line 540 of file TargetInfo.h.
References HasAlignMac68kSupport.
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 452 of file TargetInfo.h.
References getCharWidth(), and getMaxAtomicInlineWidth().
Referenced by emitOMPAtomicRMW().
|
inline |
Returns whether or not type __builtin_ms_va_list type is available on this target.
Definition at line 604 of file TargetInfo.h.
References HasBuiltinMSVaList.
Referenced by clang::Sema::BuildVAArgExpr(), and clang::Sema::Initialize().
|
inlinevirtual |
Determine whether the given target has the given feature.
Definition at line 911 of file TargetInfo.h.
Referenced by clang::Sema::BuildResolvedCallExpr(), clang::DeclSpec::Finish(), clang::ASTContext::getDefaultCallingConvention(), HandleNeonVectorTypeAttr(), and hasFeature().
|
inlinevirtual |
Determine whether the __float128 type is supported on this target.
Definition at line 363 of file TargetInfo.h.
References HasFloat128.
Referenced by ConvertDeclSpecToType(), and getRealTypeByWidth().
|
inlinevirtual |
Determine whether the __int128 type is supported on this target.
Definition at line 358 of file TargetInfo.h.
References getPointerWidth().
Referenced by ConvertDeclSpecToType(), clang::Sema::Initialize(), InitializePredefinedMacros(), and clang::CodeGen::swiftcall::isLegalIntegerType().
|
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 951 of file TargetInfo.h.
References NoAsmVariants.
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.
Definition at line 821 of file TargetInfo.h.
Referenced by handleVisibilityAttr().
|
inlinevirtual |
Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp.
Definition at line 1027 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.
Definition at line 338 of file TargetInfo.cpp.
References Name, and setFeatureEnabled().
Referenced by clang::CodeGen::CodeGenModule::getFunctionFeatureMap().
|
inline |
Definition at line 988 of file TargetInfo.h.
References BigEndian.
Referenced by EmitSignBit(), and InitializePredefinedMacros().
|
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.
Definition at line 596 of file TargetInfo.h.
|
inline |
Definition at line 989 of file TargetInfo.h.
References BigEndian.
Referenced by clang::CodeGen::CodeGenFunction::EmitPPCBuiltinExpr(), and InitializeStandardPredefinedMacros().
|
inlinevirtual |
Returns true if NaN encoding is IEEE 754-2008.
Only MIPS allows a different encoding.
Definition at line 787 of file TargetInfo.h.
Referenced by TryEvaluateBuiltinNaN().
|
inline |
Returns true for RenderScript.
Definition at line 607 of file TargetInfo.h.
References IsRenderScriptTarget.
|
inline |
Whether the target supports SEH __try.
Definition at line 939 of file TargetInfo.h.
References getTriple().
Referenced by clang::Sema::ActOnSEHTryBlock().
|
inline |
Whether the target supports thread-local storage.
Definition at line 926 of file TargetInfo.h.
References TLSSupported.
Referenced by clang::Sema::ActOnOpenMPRegionEnd(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddAlignedAttr(), clang::Sema::CheckOMPThreadPrivateDecl(), handleDeclspecThreadAttr(), HasExtension(), hasFeature(), and HasFeature().
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 267 of file TargetInfo.cpp.
References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.
Referenced by DefineExactWidthIntType(), DefineExactWidthIntTypeSize(), DefineFmt(), DefineTypeSize(), EvaluateValue(), clang::ASTContext::InitBuiltinTypes(), and InitializePredefinedMacros().
| 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 363 of file TargetInfo.cpp.
References isValidGCCRegisterName().
Referenced by clang::Sema::ActOnGCCAsmStmt().
| bool TargetInfo::isValidGCCRegisterName | ( | StringRef | Name | ) | const |
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.
Definition at line 371 of file TargetInfo.cpp.
References getGCCAddlRegNames(), getGCCRegAliases(), getGCCRegNames(), clang::isDigit(), Name, clang::ast_matchers::internal::Names(), and removeGCCRegisterPrefix().
Referenced by clang::Sema::ActOnVariableDeclarator(), AddVariableConstraints(), extractRegisterName(), getNormalizedGCCRegisterName(), and isValidClobber().
|
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.
Definition at line 834 of file TargetInfo.h.
Referenced by clang::Sema::checkSectionName(), and handleSectionAttr().
|
inline |
Definition at line 511 of file TargetInfo.h.
References UseSignedCharForObjCBool.
Referenced by clang::CompilerInstance::ExecuteAction().
|
inlineprotected |
Definition at line 104 of file TargetInfo.h.
References DataLayout.
| bool TargetInfo::resolveSymbolicName | ( | const char *& | Name, |
| ArrayRef< ConstraintInfo > | OutputConstraints, | ||
| unsigned & | Index | ||
| ) | const |
Definition at line 531 of file TargetInfo.cpp.
References Name.
Referenced by SimplifyConstraint(), and validateInputConstraint().
|
inlinevirtual |
Use the specified ABI.
Definition at line 875 of file TargetInfo.h.
|
inlinevirtual |
Target the specified CPU.
Definition at line 868 of file TargetInfo.h.
|
inlinevirtual |
Enable or disable a specific target feature; the feature name must be valid.
Definition at line 888 of file TargetInfo.h.
References Name.
Referenced by initFeatureMap().
|
inlinevirtual |
Use the specified unit for FP math.
Definition at line 882 of file TargetInfo.h.
|
inlinevirtual |
Set supported OpenCL extensions as written on command line.
Definition at line 1038 of file TargetInfo.h.
References getTargetOpts(), clang::OpenCLOptions::support(), and clang::TargetOptions::SupportedOpenCLOptions.
|
inlinevirtual |
Set supported OpenCL extensions and optional core features.
Definition at line 1035 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 574 of file TargetInfo.h.
References UseAddrSpaceMapMangling.
Referenced by isAddrSpaceMapManglingEnabled().
|
inline |
Check whether the alignment of bit-field types is respected when laying out structures.
Definition at line 517 of file TargetInfo.h.
References UseBitFieldTypeAlignment.
|
inline |
Check whether explicit bitfield alignment attributes should be.
Definition at line 535 of file TargetInfo.h.
References UseExplicitBitFieldAlignment.
|
inlinevirtual |
Return true if the 'long double' type should be mangled like __float128.
Definition at line 434 of file TargetInfo.h.
|
inline |
Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target.
Definition at line 568 of file TargetInfo.h.
References ComplexLongDoubleUsesFP2Ret.
Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target.
Definition at line 562 of file TargetInfo.h.
References RealTypeUsesObjCFPRet.
|
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 508 of file TargetInfo.h.
References UseSignedCharForObjCBool.
Referenced by InitializePredefinedMacros().
|
inline |
Check whether zero length bitfields should force alignment of the next member.
Definition at line 523 of file TargetInfo.h.
References UseZeroLengthBitfieldAlignment.
|
pure virtual |
Referenced by validateInputConstraint(), and validateOutputConstraint().
|
inlinevirtual |
Definition at line 758 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inlinevirtual |
Definition at line 917 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.
Definition at line 734 of file TargetInfo.h.
| bool TargetInfo::validateInputConstraint | ( | MutableArrayRef< ConstraintInfo > | OutputConstraints, |
| ConstraintInfo & | info | ||
| ) | const |
Definition at line 554 of file TargetInfo.cpp.
References clang::TargetInfo::ConstraintInfo::ConstraintStr, clang::TargetInfo::ConstraintInfo::getTiedOperand(), clang::TargetInfo::ConstraintInfo::hasTiedOperand(), Name, resolveSymbolicName(), clang::TargetInfo::ConstraintInfo::setAllowsMemory(), clang::TargetInfo::ConstraintInfo::setAllowsRegister(), clang::TargetInfo::ConstraintInfo::setTiedOperand(), and validateAsmConstraint().
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::CodeGen::CodeGenFunction::EmitAsmStmt().
Definition at line 753 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
| bool TargetInfo::validateOutputConstraint | ( | ConstraintInfo & | Info | ) | const |
Definition at line 457 of file TargetInfo.cpp.
References clang::TargetInfo::ConstraintInfo::allowsMemory(), clang::TargetInfo::ConstraintInfo::allowsRegister(), clang::TargetInfo::ConstraintInfo::earlyClobber(), clang::TargetInfo::ConstraintInfo::getConstraintStr(), clang::TargetInfo::ConstraintInfo::isReadWrite(), Name, clang::TargetInfo::ConstraintInfo::setAllowsMemory(), clang::TargetInfo::ConstraintInfo::setAllowsRegister(), clang::TargetInfo::ConstraintInfo::setEarlyClobber(), clang::TargetInfo::ConstraintInfo::setIsReadWrite(), and validateAsmConstraint().
Referenced by clang::Sema::ActOnGCCAsmStmt(), AddVariableConstraints(), and clang::CodeGen::CodeGenFunction::EmitAsmStmt().
Definition at line 748 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inlinevirtual |
Check the target is valid after it is fully initialized.
Definition at line 1075 of file TargetInfo.h.
|
protected |
Definition at line 88 of file TargetInfo.h.
Referenced by getAddressSpaceMap(), and TargetInfo().
|
protected |
Definition at line 60 of file TargetInfo.h.
Referenced by isBigEndian(), isLittleEndian(), and TargetInfo().
|
protected |
Definition at line 65 of file TargetInfo.h.
Referenced by getBoolAlign(), and TargetInfo().
|
protected |
Definition at line 65 of file TargetInfo.h.
Referenced by getBoolWidth(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by getChar16Align(), getChar16Type(), getChar16Width(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by getChar32Align(), getChar32Type(), getChar32Width(), and TargetInfo().
|
protected |
Definition at line 95 of file TargetInfo.h.
Referenced by TargetInfo(), and useObjCFP2RetForComplexLongDouble().
|
protected |
Definition at line 82 of file TargetInfo.h.
Referenced by getDataLayout(), and resetDataLayout().
|
protected |
Definition at line 75 of file TargetInfo.h.
Referenced by getDefaultAlignForAttributeAligned(), and TargetInfo().
|
protected |
Definition at line 69 of file TargetInfo.h.
Referenced by adjust(), getDoubleAlign(), and TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by adjust(), getDoubleFormat(), and TargetInfo().
|
protected |
Definition at line 69 of file TargetInfo.h.
Referenced by adjust(), getDoubleWidth(), and TargetInfo().
|
protected |
Definition at line 70 of file TargetInfo.h.
Referenced by getFloat128Align(), and TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by getFloat128Format(), and TargetInfo().
|
protected |
Definition at line 68 of file TargetInfo.h.
Referenced by adjust(), getFloatAlign(), and TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by adjust(), getFloatFormat(), and TargetInfo().
|
protected |
Definition at line 68 of file TargetInfo.h.
Referenced by adjust(), getFloatWidth(), and TargetInfo().
|
protected |
Definition at line 67 of file TargetInfo.h.
Referenced by adjust(), getHalfAlign(), and TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by adjust(), getHalfFormat(), and TargetInfo().
|
protected |
Definition at line 67 of file TargetInfo.h.
Referenced by adjust(), getHalfWidth(), and TargetInfo().
|
protected |
Definition at line 93 of file TargetInfo.h.
Referenced by hasAlignMac68kSupport(), and TargetInfo().
|
protected |
Definition at line 97 of file TargetInfo.h.
Referenced by hasBuiltinMSVaList(), and TargetInfo().
|
protected |
Definition at line 63 of file TargetInfo.h.
Referenced by hasFloat128Type(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by adjust(), getInt64Type(), getUInt64Type(), and TargetInfo().
|
protected |
Definition at line 66 of file TargetInfo.h.
Referenced by adjust(), getIntAlign(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by adjust(), getIntMaxTWidth(), getIntMaxType(), getUIntMaxType(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by adjust(), getIntPtrType(), getUIntPtrType(), and TargetInfo().
|
protected |
Definition at line 66 of file TargetInfo.h.
Referenced by adjust(), getIntWidth(), and TargetInfo().
|
protected |
Definition at line 99 of file TargetInfo.h.
Referenced by isRenderScriptTarget(), and TargetInfo().
|
protected |
Definition at line 71 of file TargetInfo.h.
Referenced by getLargeArrayAlign(), and TargetInfo().
|
protected |
Definition at line 71 of file TargetInfo.h.
Referenced by getLargeArrayMinWidth(), and TargetInfo().
|
protected |
Definition at line 72 of file TargetInfo.h.
Referenced by adjust(), getLongAlign(), and TargetInfo().
|
protected |
Definition at line 70 of file TargetInfo.h.
Referenced by adjust(), getLongDoubleAlign(), getNewAlign(), and TargetInfo().
|
protected |
Definition at line 84 of file TargetInfo.h.
Referenced by adjust(), getLongDoubleFormat(), and TargetInfo().
|
protected |
Definition at line 70 of file TargetInfo.h.
Referenced by adjust(), getLongDoubleWidth(), and TargetInfo().
|
protected |
Definition at line 73 of file TargetInfo.h.
Referenced by adjust(), getLongLongAlign(), getNewAlign(), and TargetInfo().
|
protected |
Definition at line 73 of file TargetInfo.h.
Referenced by adjust(), getLongLongWidth(), and TargetInfo().
|
protected |
Definition at line 72 of file TargetInfo.h.
Referenced by adjust(), getLongWidth(), and TargetInfo().
|
protected |
Definition at line 77 of file TargetInfo.h.
Referenced by getMaxAtomicInlineWidth(), and TargetInfo().
|
protected |
Definition at line 77 of file TargetInfo.h.
Referenced by getMaxAtomicPromoteWidth(), and TargetInfo().
|
protected |
Definition at line 79 of file TargetInfo.h.
Referenced by getMaxTLSAlign(), and TargetInfo().
|
protected |
Definition at line 78 of file TargetInfo.h.
Referenced by getMaxVectorAlign(), and TargetInfo().
|
protected |
Definition at line 83 of file TargetInfo.h.
Referenced by getMCountName(), and TargetInfo().
|
protected |
Definition at line 76 of file TargetInfo.h.
Referenced by getMinGlobalAlign(), and TargetInfo().
|
protected |
Definition at line 81 of file TargetInfo.h.
Referenced by adjust(), getNewAlign(), and TargetInfo().
|
protected |
Definition at line 62 of file TargetInfo.h.
Referenced by hasNoAsmVariants(), and TargetInfo().
|
mutableprotected |
Definition at line 91 of file TargetInfo.h.
Referenced by getPlatformMinVersion(), and TargetInfo().
|
mutableprotected |
Definition at line 90 of file TargetInfo.h.
Referenced by getPlatformName(), and TargetInfo().
|
protected |
Definition at line 64 of file TargetInfo.h.
Referenced by getPointerAlign(), getPointerAlignV(), and TargetInfo().
|
protected |
Definition at line 64 of file TargetInfo.h.
Referenced by getMaxPointerWidth(), getPointerWidth(), getPointerWidthV(), getRegisterWidth(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by getProcessIDType(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by adjust(), getPtrDiffType(), getPtrDiffTypeV(), and TargetInfo().
|
protected |
Definition at line 94 of file TargetInfo.h.
Referenced by TargetInfo(), and useObjCFPRetForRealType().
|
protected |
Definition at line 86 of file TargetInfo.h.
Referenced by getRegParmMax(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by getSigAtomicType(), and TargetInfo().
|
protected |
Definition at line 80 of file TargetInfo.h.
Referenced by getSimdDefaultAlign(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by adjust(), getSignedSizeType(), getSizeType(), and TargetInfo().
|
protected |
Definition at line 86 of file TargetInfo.h.
Referenced by TargetInfo().
|
protected |
Definition at line 74 of file TargetInfo.h.
Referenced by getSuitableAlign(), and TargetInfo().
|
protected |
Definition at line 87 of file TargetInfo.h.
Referenced by getCXXABI(), and TargetInfo().
|
protected |
Definition at line 61 of file TargetInfo.h.
Referenced by isTLSSupported(), and TargetInfo().
|
protected |
Specify if mangling based on address space map should be used or not for language specific address spaces.
Definition at line 225 of file TargetInfo.h.
Referenced by TargetInfo(), and useAddressSpaceMapMangling().
|
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 206 of file TargetInfo.h.
Referenced by adjust(), TargetInfo(), and useBitFieldTypeAlignment().
|
protected |
Whether explicit bit field alignment attributes are honored.
Definition at line 217 of file TargetInfo.h.
Referenced by TargetInfo(), and useExplicitBitFieldAlignment().
|
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 199 of file TargetInfo.h.
Referenced by noSignedCharForObjCBool(), TargetInfo(), and useSignedCharForObjCBool().
|
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 214 of file TargetInfo.h.
Referenced by TargetInfo(), and useZeroLengthBitfieldAlignment().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by adjust(), getWCharAlign(), getWCharType(), getWCharWidth(), and TargetInfo().
|
protected |
Definition at line 191 of file TargetInfo.h.
Referenced by getWIntType(), 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 221 of file TargetInfo.h.
Referenced by getZeroLengthBitfieldBoundary(), and TargetInfo().
1.8.6