clang  4.0.0svn
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
clang::TargetInfo Class Referenceabstract

Exposes information about the current target. More...

#include <TargetInfo.h>

Inheritance diagram for clang::TargetInfo:
Inheritance graph
[legend]
Collaboration diagram for clang::TargetInfo:
Collaboration graph
[legend]

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 ()
 
TargetOptionsgetTargetOpts () const
 Retrieve the target options. More...
 
IntType getSizeType () 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...
 
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 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::InfogetTargetBuiltins () 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) const
 Returns the "normalized" GCC register name. 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 (const 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::MapgetAddressSpaceMap () const
 
StringRef getPlatformName () const
 Retrieve the name of the platform as it is used in the availability attribute. More...
 
VersionTuple getPlatformMinVersion () const
 Retrieve the minimum desired version of the platform, to which the program should be compiled. More...
 
bool isBigEndian () const
 
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 prefered alignment. More...
 
virtual void setSupportedOpenCLOpts ()
 Set supported OpenCL extensions and optional core features. More...
 
OpenCLOptionsgetSupportedOpenCLOpts ()
 Get supported OpenCL extensions and optional core features. More...
 
const OpenCLOptionsgetSupportedOpenCLOpts () const
 Get const supported OpenCL extensions and optional core features. More...
 
virtual LangAS::ID getOpenCLImageAddrSpace () const
 Get OpenCL image type address space. More...
 
virtual bool validateTarget (DiagnosticsEngine &Diags) const
 Check the target is valid after it is fully initialized. More...
 

Static Public Member Functions

static TargetInfoCreateTargetInfo (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< GCCRegAliasgetGCCRegAliases () const =0
 
virtual ArrayRef< AddlRegNamegetGCCAddlRegNames () const
 

Protected Attributes

bool BigEndian
 
bool TLSSupported
 
bool NoAsmVariants
 
bool HasFloat128
 
unsigned char PointerWidth
 
unsigned char PointerAlign
 
unsigned char BoolWidth
 
unsigned char BoolAlign
 
unsigned char IntWidth
 
unsigned char IntAlign
 
unsigned char HalfWidth
 
unsigned char HalfAlign
 
unsigned char FloatWidth
 
unsigned char FloatAlign
 
unsigned char DoubleWidth
 
unsigned char DoubleAlign
 
unsigned char LongDoubleWidth
 
unsigned char LongDoubleAlign
 
unsigned char Float128Align
 
unsigned char LargeArrayMinWidth
 
unsigned char LargeArrayAlign
 
unsigned char LongWidth
 
unsigned char LongAlign
 
unsigned char LongLongWidth
 
unsigned char LongLongAlign
 
unsigned char SuitableAlign
 
unsigned char DefaultAlignForAttributeAligned
 
unsigned char MinGlobalAlign
 
unsigned char MaxAtomicPromoteWidth
 
unsigned char MaxAtomicInlineWidth
 
unsigned short MaxVectorAlign
 
unsigned short MaxTLSAlign
 
unsigned short SimdDefaultAlign
 
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 LangAS::MapAddrSpaceMap
 
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...
 

Detailed Description

Exposes information about the current target.

Definition at line 52 of file include/clang/Basic/TargetInfo.h.

Member Enumeration Documentation

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 defind 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://www.x86-64.org/documentation/abi.pdf

AAPCSABIBuiltinVaList 

__builtin_va_list as defined by ARM AAPCS ABI http://infocenter.arm.com

SystemZBuiltinVaList 

Definition at line 148 of file include/clang/Basic/TargetInfo.h.

Enumerator
CCCR_OK 
CCCR_Warning 
CCCR_Ignore 

Definition at line 958 of file include/clang/Basic/TargetInfo.h.

Enumerator
CCMT_Unknown 
CCMT_Member 
CCMT_NonMember 

Definition at line 943 of file include/clang/Basic/TargetInfo.h.

===-— Target Data Type Query Methods ----------------------------—===//

Enumerator
NoInt 
SignedChar 
UnsignedChar 
SignedShort 
UnsignedShort 
SignedInt 
UnsignedInt 
SignedLong 
UnsignedLong 
SignedLongLong 
UnsignedLongLong 

Definition at line 124 of file include/clang/Basic/TargetInfo.h.

Enumerator
NoFloat 
Float 
Double 
LongDouble 
Float128 

Definition at line 138 of file include/clang/Basic/TargetInfo.h.

Constructor & Destructor Documentation

TargetInfo::TargetInfo ( const llvm::Triple &  T)
protected
TargetInfo::~TargetInfo ( )
virtual

Definition at line 106 of file Basic/TargetInfo.cpp.

Member Function Documentation

void TargetInfo::adjust ( const LangOptions Opts)
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.

Definition at line 279 of file Basic/TargetInfo.cpp.

References DoubleAlign, DoubleFormat, DoubleWidth, FloatAlign, FloatFormat, FloatWidth, getMaxPointerWidth(), HalfAlign, HalfFormat, HalfWidth, Int64Type, IntAlign, IntMaxType, IntPtrType, IntWidth, LongAlign, LongDoubleAlign, LongDoubleFormat, LongDoubleWidth, LongLongAlign, LongLongWidth, LongWidth, PtrDiffType, SignedInt, SignedLong, SignedLongLong, SizeType, UnsignedInt, UnsignedLong, UnsignedShort, UseBitFieldTypeAlignment, and WCharType.

Referenced by clang::CompilerInstance::ExecuteAction().

virtual void clang::TargetInfo::adjustTargetOptions ( const CodeGenOptions CGOpts,
TargetOptions TargetOpts 
) const
inlinevirtual

Adjust target options based on codegen options.

Definition at line 807 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CompilerInstance::ExecuteAction().

virtual bool clang::TargetInfo::allowsLargerPreferedTypeAlignment ( ) const
inlinevirtual

Whether target allows to overalign ABI-specified prefered alignment.

Definition at line 984 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getPreferredTypeAlign().

virtual CallingConvCheckResult clang::TargetInfo::checkCallingConvention ( CallingConv  CC) const
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 968 of file include/clang/Basic/TargetInfo.h.

References clang::CC_C.

Referenced by clang::Sema::CheckCallingConvAttr().

virtual std::string clang::TargetInfo::convertConstraint ( const char *&  Constraint) const
inlinevirtual

Definition at line 737 of file include/clang/Basic/TargetInfo.h.

Referenced by SimplifyConstraint().

TargetInfo * TargetInfo::CreateTargetInfo ( DiagnosticsEngine Diags,
const std::shared_ptr< TargetOptions > &  Opts 
)
static

Construct a target for the given options.

CreateTargetInfo - Return the target info object for the specified target options.

Parameters
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 8614 of file Targets.cpp.

References AllocateTarget(), and clang::DiagnosticsEngine::Report().

Referenced by checkAndSanitizeDiags(), clang::ASTUnit::CodeComplete(), clang::createChainedIncludesSource(), clang::CompilerInstance::ExecuteAction(), getDeclShowContexts(), clang::ASTUnit::LoadFromCompilerInvocationAction(), and makeStandaloneDiagnostic().

virtual StringRef clang::TargetInfo::getABI ( ) const
inlinevirtual

Get the ABI currently in use.

Definition at line 819 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::getTargetCodeGenInfo().

const LangAS::Map& clang::TargetInfo::getAddressSpaceMap ( ) const
inline

Definition at line 929 of file include/clang/Basic/TargetInfo.h.

Referenced by getAddressSpaceMap().

unsigned clang::TargetInfo::getBoolAlign ( ) const
inline

Return the alignment of '_Bool' and C++ 'bool' for this target.

Definition at line 306 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

unsigned clang::TargetInfo::getBoolWidth ( ) const
inline

Return the size of '_Bool' and C++ 'bool' for this target, in bits.

Definition at line 303 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

virtual BuiltinVaListKind clang::TargetInfo::getBuiltinVaListKind ( ) const
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().

unsigned clang::TargetInfo::getChar16Align ( ) const
inline

Definition at line 364 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

IntType clang::TargetInfo::getChar16Type ( ) const
inline

Definition at line 239 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

unsigned clang::TargetInfo::getChar16Width ( ) const
inline

getChar16Width/Align - Return the size of 'char16_t' for this target, in bits.

Definition at line 363 of file include/clang/Basic/TargetInfo.h.

Referenced by EvaluateValue(), getCharWidth(), clang::ASTContext::getTypeInfo(), and clang::FloatingLiteral::getValueAsApproximateDouble().

unsigned clang::TargetInfo::getChar32Align ( ) const
inline

Definition at line 369 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

IntType clang::TargetInfo::getChar32Type ( ) const
inline

Definition at line 240 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

unsigned clang::TargetInfo::getChar32Width ( ) const
inline

getChar32Width/Align - Return the size of 'char32_t' for this target, in bits.

Definition at line 368 of file include/clang/Basic/TargetInfo.h.

Referenced by EvaluateValue(), getCharWidth(), clang::ASTContext::getTypeInfo(), and clang::FloatingLiteral::getValueAsApproximateDouble().

unsigned clang::TargetInfo::getCharAlign ( ) const
inline
unsigned clang::TargetInfo::getCharWidth ( ) const
inline
virtual const char* clang::TargetInfo::getClobbers ( ) const
pure virtual

Returns a string of target-specific clobbers, in LLVM format.

Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().

static IntType clang::TargetInfo::getCorrespondingUnsignedType ( IntType  T)
inlinestatic

Definition at line 248 of file include/clang/Basic/TargetInfo.h.

TargetCXXABI clang::TargetInfo::getCXXABI ( ) const
inline

Get the C++ ABI currently in use.

Definition at line 822 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishCXXNonNestedClass(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnTag(), clang::Sema::adjustMemberFunctionCC(), assignInheritanceModel(), basicGVALinkageForFunction(), basicGVALinkageForVariable(), BuildAppleKextVirtualCall(), clang::Sema::BuildArrayType(), canEmitDelegateCallArgs(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckBaseSpecifier(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckCXXThrowOperand(), checkDLLAttributeRedeclaration(), clang::Sema::CheckParmsForFunctionDef(), computeKeyFunction(), createCXXABI(), clang::CodeGen::CreateItaniumCXXABI(), clang::ASTContext::createMangleContext(), deactivateArgCleanupsBeforeCall(), clang::Sema::DefaultLvalueConversion(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CGCXXABI::EmitCtorCompleteObjectHandler(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::Sema::FixOverloadedFunctionReference(), clang::CodeGen::CodeGenFunction::generateThunk(), clang::FunctionDecl::getBuiltinID(), getCallingConvMangling(), clang::ASTContext::getCommentForDecl(), getConstantArrayInfoInChars(), clang::CodeGen::CodeGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getMangledName(), clang::ASTContext::getVTableContext(), handleDLLAttr(), clang::CodeGen::CodeGenTypes::inheritingCtorHasParams(), clang::Sema::InstantiateClassMembers(), 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().

const llvm::DataLayout& clang::TargetInfo::getDataLayout ( ) const
inline
unsigned clang::TargetInfo::getDefaultAlignForAttributeAligned ( ) const
inline

Return the default alignment for attribute((aligned)) on this target, to be used if no alignment value is specified.

Definition at line 348 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTargetDefaultAlignForAttributeAligned().

virtual CallingConv clang::TargetInfo::getDefaultCallingConv ( CallingConvMethodType  MT) const
inlinevirtual

Gets the default calling convention for the given target and declaration context.

Definition at line 951 of file include/clang/Basic/TargetInfo.h.

References clang::CC_C.

Referenced by clang::ASTContext::getDefaultCallingConvention().

unsigned clang::TargetInfo::getDoubleAlign ( ) const
inline

Definition at line 383 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

const llvm::fltSemantics& clang::TargetInfo::getDoubleFormat ( ) const
inline
unsigned clang::TargetInfo::getDoubleWidth ( ) const
inline

getDoubleWidth/Align/Format - Return the size/align/format of 'double'.

Definition at line 382 of file include/clang/Basic/TargetInfo.h.

Referenced by getRealTypeByWidth(), clang::ASTContext::getTypeInfo(), and InitializePredefinedMacros().

virtual int clang::TargetInfo::getEHDataRegisterNumber ( unsigned  RegNo) const
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 920 of file include/clang/Basic/TargetInfo.h.

virtual unsigned clang::TargetInfo::getExnObjectAlignment ( ) const
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 440 of file include/clang/Basic/TargetInfo.h.

unsigned clang::TargetInfo::getFloat128Align ( ) const
inline

Definition at line 397 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

const llvm::fltSemantics& clang::TargetInfo::getFloat128Format ( ) const
inline
unsigned clang::TargetInfo::getFloat128Width ( ) const
inline

getFloat128Width/Align/Format - Return the size/align/format of '__float128'.

Definition at line 396 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

unsigned clang::TargetInfo::getFloatAlign ( ) const
inline

Definition at line 378 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

virtual unsigned clang::TargetInfo::getFloatEvalMethod ( ) const
inlinevirtual

Return the value for the C99 FLT_EVAL_METHOD macro.

Definition at line 407 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

const llvm::fltSemantics& clang::TargetInfo::getFloatFormat ( ) const
inline
unsigned clang::TargetInfo::getFloatWidth ( ) const
inline

getFloatWidth/Align/Format - Return the size/align/format of 'float'.

Definition at line 377 of file include/clang/Basic/TargetInfo.h.

Referenced by getRealTypeByWidth(), clang::ASTContext::getTypeInfo(), and InitializePredefinedMacros().

virtual ArrayRef<AddlRegName> clang::TargetInfo::getGCCAddlRegNames ( ) const
inlineprotectedvirtual
virtual ArrayRef<GCCRegAlias> clang::TargetInfo::getGCCRegAliases ( ) const
protectedpure virtual
virtual ArrayRef<const char *> clang::TargetInfo::getGCCRegNames ( ) const
protectedpure virtual
unsigned clang::TargetInfo::getHalfAlign ( ) const
inline

Definition at line 373 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

const llvm::fltSemantics& clang::TargetInfo::getHalfFormat ( ) const
inline
unsigned clang::TargetInfo::getHalfWidth ( ) const
inline

getHalfWidth/Align/Format - Return the size/align/format of 'half'.

Definition at line 372 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

IntType clang::TargetInfo::getInt64Type ( ) const
inline
unsigned clang::TargetInfo::getIntAlign ( ) const
inline
unsigned clang::TargetInfo::getIntMaxTWidth ( ) const
inline

Return the size of intmax_t and uintmax_t for this target, in bits.

Definition at line 453 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnNumericConstant().

IntType clang::TargetInfo::getIntMaxType ( ) const
inline
IntType clang::TargetInfo::getIntPtrType ( ) const
inline
TargetInfo::IntType TargetInfo::getIntTypeByWidth ( unsigned  BitWidth,
bool  IsSigned 
) const
virtual
unsigned clang::TargetInfo::getIntWidth ( ) const
inline
unsigned clang::TargetInfo::getLargeArrayAlign ( ) const
inline

Definition at line 412 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getDeclAlign().

unsigned clang::TargetInfo::getLargeArrayMinWidth ( ) const
inline

Definition at line 411 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getDeclAlign().

TargetInfo::IntType TargetInfo::getLeastIntTypeByWidth ( unsigned  BitWidth,
bool  IsSigned 
) const
virtual
unsigned clang::TargetInfo::getLongAlign ( ) const
inline
unsigned clang::TargetInfo::getLongDoubleAlign ( ) const
inline

Definition at line 389 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

const llvm::fltSemantics& clang::TargetInfo::getLongDoubleFormat ( ) const
inline
unsigned clang::TargetInfo::getLongDoubleWidth ( ) const
inline

getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'.

Definition at line 388 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo(), and InitializePredefinedMacros().

unsigned clang::TargetInfo::getLongLongAlign ( ) const
inline
unsigned clang::TargetInfo::getLongLongWidth ( ) const
inline

getLongLongWidth/Align - Return the size of 'signed long long' and 'unsigned long long' for this target, in bits.

Definition at line 331 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnNumericConstant(), getIntTypeByWidth(), getLeastIntTypeByWidth(), clang::ASTContext::getTypeInfo(), getTypeWidth(), and InitializePredefinedMacros().

unsigned clang::TargetInfo::getLongWidth ( ) const
inline
unsigned clang::TargetInfo::getMaxAtomicInlineWidth ( ) const
inline

Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target.

Definition at line 419 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::AtomicUsesUnsupportedLibcall(), and InitializePredefinedMacros().

unsigned clang::TargetInfo::getMaxAtomicPromoteWidth ( ) const
inline

Return the maximum width lock-free atomic operation which will ever be supported for the given target.

Definition at line 416 of file include/clang/Basic/TargetInfo.h.

virtual uint64_t clang::TargetInfo::getMaxPointerWidth ( ) const
inlinevirtual

Return the maximum width of pointers on this target.

Definition at line 298 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and clang::CodeGen::CodeGenModule::CodeGenModule().

unsigned short clang::TargetInfo::getMaxTLSAlign ( ) const
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 895 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::AddAlignedAttr(), and clang::Sema::FinalizeDeclaration().

unsigned clang::TargetInfo::getMaxVectorAlign ( ) const
inline

Return the maximum vector alignment supported for the given target.

Definition at line 431 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

const char* clang::TargetInfo::getMCountName ( ) const
inline

Returns the name of the mcount instrumentation function.

Definition at line 469 of file include/clang/Basic/TargetInfo.h.

unsigned clang::TargetInfo::getMinGlobalAlign ( ) const
inline

getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes.

Definition at line 354 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getDeclAlign().

StringRef TargetInfo::getNormalizedGCCRegisterName ( StringRef  Name) const

Returns the "normalized" GCC register name.

For example, on x86 it will return "ax" when "eax" is passed in.

Definition at line 404 of file Basic/TargetInfo.cpp.

References getGCCAddlRegNames(), getGCCRegAliases(), getGCCRegNames(), clang::isDigit(), isValidGCCRegisterName(), and removeGCCRegisterPrefix().

Referenced by AddVariableConstraints(), and clang::CodeGen::CodeGenFunction::EmitAsmStmt().

virtual LangAS::ID clang::TargetInfo::getOpenCLImageAddrSpace ( ) const
inlinevirtual
VersionTuple clang::TargetInfo::getPlatformMinVersion ( ) const
inline

Retrieve the minimum desired version of the platform, to which the program should be compiled.

Definition at line 939 of file include/clang/Basic/TargetInfo.h.

Referenced by CheckAvailability(), and clang::Sema::getVersionForDecl().

StringRef clang::TargetInfo::getPlatformName ( ) const
inline

Retrieve the name of the platform as it is used in the availability attribute.

Definition at line 935 of file include/clang/Basic/TargetInfo.h.

Referenced by CheckAvailability(), and getAttrForPlatform().

uint64_t clang::TargetInfo::getPointerAlign ( unsigned  AddrSpace) const
inline
virtual uint64_t clang::TargetInfo::getPointerAlignV ( unsigned  AddrSpace) const
inlineprotectedvirtual

Definition at line 1013 of file include/clang/Basic/TargetInfo.h.

uint64_t clang::TargetInfo::getPointerWidth ( unsigned  AddrSpace) const
inline
virtual uint64_t clang::TargetInfo::getPointerWidthV ( unsigned  AddrSpace) const
inlineprotectedvirtual

Definition at line 1010 of file include/clang/Basic/TargetInfo.h.

IntType clang::TargetInfo::getProcessIDType ( ) const
inline
IntType clang::TargetInfo::getPtrDiffType ( unsigned  AddrSpace) const
inline
virtual enum IntType clang::TargetInfo::getPtrDiffTypeV ( unsigned  AddrSpace) const
inlineprotectedvirtual

Definition at line 1016 of file include/clang/Basic/TargetInfo.h.

TargetInfo::RealType TargetInfo::getRealTypeByWidth ( unsigned  BitWidth) const

Return floating point type with specified width.

Definition at line 215 of file Basic/TargetInfo.cpp.

References Double, Float, Float128, getDoubleWidth(), getFloatWidth(), getLongDoubleFormat(), hasFloat128Type(), LongDouble, and NoFloat.

Referenced by clang::ASTContext::getRealTypeForBitwidth().

virtual unsigned clang::TargetInfo::getRegisterWidth ( ) const
inlinevirtual

Return the "preferred" register width on this target.

Definition at line 461 of file include/clang/Basic/TargetInfo.h.

Referenced by parseModeAttrArg().

unsigned clang::TargetInfo::getRegParmMax ( ) const
inline

Definition at line 881 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::CheckRegparmAttr().

unsigned clang::TargetInfo::getShortAlign ( ) const
inline

Return the alignment of 'signed short' and 'unsigned short' for this target.

Definition at line 317 of file include/clang/Basic/TargetInfo.h.

Referenced by getTypeAlign(), and clang::ASTContext::getTypeInfo().

unsigned clang::TargetInfo::getShortWidth ( ) const
inline

Return the size of 'signed short' and 'unsigned short' for this target, in bits.

Definition at line 313 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnEnumBody(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeConstantSuffix(), clang::ASTContext::getTypeInfo(), getTypeWidth(), and InitializePredefinedMacros().

IntType clang::TargetInfo::getSigAtomicType ( ) const
inline

Definition at line 245 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

unsigned clang::TargetInfo::getSimdDefaultAlign ( ) const
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 435 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getOpenMPDefaultSimdAlign().

IntType clang::TargetInfo::getSizeType ( ) const
inline
virtual const char* clang::TargetInfo::getStaticInitSectionSpecifier ( ) const
inlinevirtual

Return the section to use for C++ static initialization functions.

Definition at line 925 of file include/clang/Basic/TargetInfo.h.

unsigned clang::TargetInfo::getSuitableAlign ( ) const
inline

Return the alignment that is suitable for storing any object with a fundamental alignment requirement.

Definition at line 344 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::BuildCXXNew(), and InitializePredefinedMacros().

OpenCLOptions& clang::TargetInfo::getSupportedOpenCLOpts ( )
inline

Get supported OpenCL extensions and optional core features.

Definition at line 990 of file include/clang/Basic/TargetInfo.h.

const OpenCLOptions& clang::TargetInfo::getSupportedOpenCLOpts ( ) const
inline

Get const supported OpenCL extensions and optional core features.

Definition at line 995 of file include/clang/Basic/TargetInfo.h.

virtual ArrayRef<Builtin::Info> clang::TargetInfo::getTargetBuiltins ( ) const
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().

virtual void clang::TargetInfo::getTargetDefines ( const LangOptions Opts,
MacroBuilder Builder 
) const
pure virtual

===-— Other target property query methods --------------------——===//

Appends the target-specific #define values for this target set to the specified buffer.

Referenced by InitializePredefinedMacros().

TargetOptions& clang::TargetInfo::getTargetOpts ( ) const
inline

Retrieve the target options.

Definition at line 118 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), and getSignature().

const llvm::Triple& clang::TargetInfo::getTriple ( ) const
inline

Returns the target triple of the primary target.

Definition at line 754 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::AddAlignedAttr(), clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::arcmt::trans::canApplyWeak(), checkBuiltinArgument(), clang::Sema::CheckCallingConvAttr(), clang::Sema::CheckMain(), configureBlocksRuntimeObject(), clang::CodeGen::CreateItaniumCXXABI(), EmitGlobalDeclMetadata(), emitGlobalDtorWithCXAAtExit(), clang::CodeGen::CodeGenFunction::EmitSEHTryStmt(), clang::CompilerInstance::ExecuteAction(), FindIvarInterface(), clang::CodeGen::EHPersonality::get(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::analyze_printf::PrintfSpecifier::getArgType(), clang::analyze_scanf::ScanfSpecifier::getArgType(), getCallingConvMangling(), getCCForDeclaratorChunk(), getCodegenToUse(), GetGCAttrTypeForType(), getMaxAtomicAccessSize(), getMSMemberPointerSlots(), getNeonEltType(), clang::CodeGen::CodeGenModule::getTargetCodeGenInfo(), getThreadLocalWrapperLinkage(), clang::CodeGen::CodeGenModule::getTriple(), handleAliasAttr(), handleAnyX86InterruptAttr(), handleAvailabilityAttr(), handleIFuncAttr(), handleInterruptAttr(), handleWeakImportAttr(), clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier(), InitializePredefinedMacros(), clang::CodeGen::ABIInfo::isAndroid(), isArc4RandomAvailable(), isArgInAlloca(), isMsLayout(), clang::FunctionDecl::isMSVCRTEntryPoint(), isPermittedNeonBaseType(), isSingleElementStruct(), isThreadWrapperReplaceable(), clang::CodeGen::CodeGenModule::maybeSetTrivialComdat(), ParseAlignPragma(), ParsePrintfSpecifier(), ParseScanfSpecifier(), clang::CodeGen::CodeGenModule::Release(), SemaBuiltinCpuSupports(), SemaOpenCLBuiltinToAddr(), shouldNotPrintDirectly(), clang::CoverageSourceInfo::SourceRangeSkipped(), and supportsNilWithFloatRet().

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 240 of file Basic/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 128 of file Basic/TargetInfo.cpp.

References getCharWidth(), getIntWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineExactWidthIntType(), DefineTypeSize(), and InitializePredefinedMacros().

const char * TargetInfo::getTypeFormatModifier ( IntType  T)
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 151 of file Basic/TargetInfo.cpp.

References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineFmt().

const char * TargetInfo::getTypeName ( IntType  T)
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 110 of file Basic/TargetInfo.cpp.

References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineType().

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 169 of file Basic/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(), getNeonEltType(), and InitializePredefinedMacros().

IntType clang::TargetInfo::getUInt64Type ( ) const
inline
IntType clang::TargetInfo::getUIntMaxType ( ) const
inline
IntType clang::TargetInfo::getUIntPtrType ( ) const
inline

Definition at line 234 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

virtual unsigned clang::TargetInfo::getUnwindWordWidth ( ) const
inlinevirtual

Definition at line 458 of file include/clang/Basic/TargetInfo.h.

Referenced by parseModeAttrArg().

unsigned clang::TargetInfo::getWCharAlign ( ) const
inline

Definition at line 359 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::ASTContext::getTypeInfo().

IntType clang::TargetInfo::getWCharType ( ) const
inline

Definition at line 237 of file include/clang/Basic/TargetInfo.h.

Referenced by EvaluateValue(), and InitializePredefinedMacros().

unsigned clang::TargetInfo::getWCharWidth ( ) const
inline

getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits.

Definition at line 358 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CharLiteralParser::CharLiteralParser(), EvaluateValue(), getCharWidth(), clang::ASTContext::getTypeInfo(), and clang::FloatingLiteral::getValueAsApproximateDouble().

IntType clang::TargetInfo::getWIntType ( ) const
inline

Definition at line 238 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

unsigned clang::TargetInfo::getZeroLengthBitfieldBoundary ( ) const
inline

Get the fixed alignment value in bits for a member that follows a zero length bitfield.

Definition at line 499 of file include/clang/Basic/TargetInfo.h.

Referenced by roundUpSizeToCharAlignment().

virtual bool clang::TargetInfo::handleTargetFeatures ( std::vector< std::string > &  Features,
DiagnosticsEngine Diags 
)
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.

Returns
False on error.

Definition at line 866 of file include/clang/Basic/TargetInfo.h.

bool clang::TargetInfo::hasAlignMac68kSupport ( ) const
inline

Check whether this target support '#pragma options align=mac68k'.

Definition at line 510 of file include/clang/Basic/TargetInfo.h.

References clang::driver::types::getTypeName().

Referenced by clang::Sema::ActOnPragmaOptionsAlign().

virtual bool clang::TargetInfo::hasBuiltinAtomic ( uint64_t  AtomicSizeInBits,
uint64_t  AlignmentInBits 
) const
inlinevirtual

Returns true if the given target supports lock-free atomic operations at the specified width and alignment.

Definition at line 422 of file include/clang/Basic/TargetInfo.h.

References getCharWidth().

Referenced by emitOMPAtomicRMW().

bool clang::TargetInfo::hasBuiltinMSVaList ( ) const
inline

Returns whether or not type __builtin_ms_va_list type is available on this target.

Definition at line 574 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::BuildVAArgExpr(), and clang::Sema::Initialize().

virtual bool clang::TargetInfo::hasFeature ( StringRef  Feature) const
inlinevirtual

Determine whether the given target has the given feature.

Definition at line 872 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::DeclSpec::Finish(), clang::ASTContext::getDefaultCallingConvention(), getNeonEltType(), HandleNeonVectorTypeAttr(), and hasFeature().

virtual bool clang::TargetInfo::hasFloat128Type ( ) const
inlinevirtual

Determine whether the __float128 type is supported on this target.

Definition at line 340 of file include/clang/Basic/TargetInfo.h.

Referenced by ConvertDeclSpecToType(), and getRealTypeByWidth().

virtual bool clang::TargetInfo::hasInt128Type ( ) const
inlinevirtual

Determine whether the __int128 type is supported on this target.

Definition at line 335 of file include/clang/Basic/TargetInfo.h.

Referenced by ConvertDeclSpecToType(), clang::Sema::Initialize(), InitializePredefinedMacros(), and clang::CodeGen::swiftcall::isLegalIntegerType().

bool clang::TargetInfo::hasNoAsmVariants ( ) const
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 912 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::GCCAsmStmt::AnalyzeAsmString().

virtual bool clang::TargetInfo::hasProtectedVisibility ( ) const
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 783 of file include/clang/Basic/TargetInfo.h.

Referenced by handleVisibilityAttr().

virtual bool clang::TargetInfo::hasSjLjLowering ( ) const
inlinevirtual

Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp.

Definition at line 979 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::SemaConvertVectorExpr().

bool TargetInfo::initFeatureMap ( llvm::StringMap< bool > &  Features,
DiagnosticsEngine Diags,
StringRef  CPU,
const std::vector< std::string > &  FeatureVec 
) const
virtual

Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target.

Returns
False on error (invalid features).

Definition at line 325 of file Basic/TargetInfo.cpp.

References setFeatureEnabled().

bool clang::TargetInfo::isBigEndian ( ) const
inline
virtual bool clang::TargetInfo::isCLZForZeroUndef ( ) const
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 566 of file include/clang/Basic/TargetInfo.h.

virtual bool clang::TargetInfo::isNan2008 ( ) const
inlinevirtual

Returns true if NaN encoding is IEEE 754-2008.

Only MIPS allows a different encoding.

Definition at line 749 of file include/clang/Basic/TargetInfo.h.

Referenced by TryEvaluateBuiltinNaN().

bool clang::TargetInfo::isRenderScriptTarget ( ) const
inline

Returns true for RenderScript.

Definition at line 577 of file include/clang/Basic/TargetInfo.h.

bool clang::TargetInfo::isSEHTrySupported ( ) const
inline

Whether the target supports SEH __try.

Definition at line 900 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnSEHTryBlock().

bool clang::TargetInfo::isTLSSupported ( ) const
inline
bool TargetInfo::isTypeSigned ( IntType  T)
static

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 258 of file Basic/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 350 of file Basic/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 358 of file Basic/TargetInfo.cpp.

References getGCCAddlRegNames(), getGCCRegAliases(), getGCCRegNames(), clang::isDigit(), and removeGCCRegisterPrefix().

Referenced by clang::Sema::ActOnVariableDeclarator(), AddVariableConstraints(), getNormalizedGCCRegisterName(), and isValidClobber().

virtual std::string clang::TargetInfo::isValidSectionSpecifier ( StringRef  SR) const
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 796 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::checkSectionName(), and handleSectionAttr().

void clang::TargetInfo::noSignedCharForObjCBool ( )
inline
void clang::TargetInfo::resetDataLayout ( StringRef  DL)
inlineprotected

Definition at line 101 of file include/clang/Basic/TargetInfo.h.

bool TargetInfo::resolveSymbolicName ( const char *&  Name,
ArrayRef< ConstraintInfo OutputConstraints,
unsigned Index 
) const

Definition at line 513 of file Basic/TargetInfo.cpp.

Referenced by SimplifyConstraint(), and validateInputConstraint().

virtual bool clang::TargetInfo::setABI ( const std::string &  Name)
inlinevirtual

Use the specified ABI.

Returns
False on error (invalid ABI name).

Definition at line 836 of file include/clang/Basic/TargetInfo.h.

virtual bool clang::TargetInfo::setCPU ( const std::string &  Name)
inlinevirtual

Target the specified CPU.

Returns
False on error (invalid CPU name).

Definition at line 829 of file include/clang/Basic/TargetInfo.h.

virtual void clang::TargetInfo::setFeatureEnabled ( llvm::StringMap< bool > &  Features,
StringRef  Name,
bool  Enabled 
) const
inlinevirtual

Enable or disable a specific target feature; the feature name must be valid.

Definition at line 849 of file include/clang/Basic/TargetInfo.h.

Referenced by initFeatureMap().

virtual bool clang::TargetInfo::setFPMath ( StringRef  Name)
inlinevirtual

Use the specified unit for FP math.

Returns
False on error (invalid unit name).

Definition at line 843 of file include/clang/Basic/TargetInfo.h.

virtual void clang::TargetInfo::setSupportedOpenCLOpts ( )
inlinevirtual

Set supported OpenCL extensions and optional core features.

Definition at line 987 of file include/clang/Basic/TargetInfo.h.

bool clang::TargetInfo::useAddressSpaceMapMangling ( ) const
inline

Specify if mangling based on address space map should be used or not for language specific address spaces.

Definition at line 544 of file include/clang/Basic/TargetInfo.h.

Referenced by isAddrSpaceMapManglingEnabled().

bool clang::TargetInfo::useBitFieldTypeAlignment ( ) const
inline

Check whether the alignment of bit-field types is respected when laying out structures.

Definition at line 487 of file include/clang/Basic/TargetInfo.h.

Referenced by roundUpSizeToCharAlignment().

bool clang::TargetInfo::useExplicitBitFieldAlignment ( ) const
inline

Check whether explicit bitfield alignment attributes should be.

Definition at line 505 of file include/clang/Basic/TargetInfo.h.

Referenced by roundUpSizeToCharAlignment().

virtual bool clang::TargetInfo::useFloat128ManglingForLongDouble ( ) const
inlinevirtual

Return true if the 'long double' type should be mangled like __float128.

Definition at line 404 of file include/clang/Basic/TargetInfo.h.

bool clang::TargetInfo::useObjCFP2RetForComplexLongDouble ( ) const
inline

Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target.

Definition at line 538 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::ReturnTypeUsesFP2Ret().

bool clang::TargetInfo::useObjCFPRetForRealType ( RealType  T) const
inline

Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target.

Definition at line 532 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::ReturnTypeUsesFPRet().

bool clang::TargetInfo::useSignedCharForObjCBool ( ) const
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 478 of file include/clang/Basic/TargetInfo.h.

bool clang::TargetInfo::useZeroLengthBitfieldAlignment ( ) const
inline

Check whether zero length bitfields should force alignment of the next member.

Definition at line 493 of file include/clang/Basic/TargetInfo.h.

Referenced by roundUpSizeToCharAlignment().

virtual bool clang::TargetInfo::validateAsmConstraint ( const char *&  Name,
TargetInfo::ConstraintInfo info 
) const
pure virtual
virtual bool clang::TargetInfo::validateConstraintModifier ( StringRef  ,
char  ,
unsigned  ,
std::string &   
) const
inlinevirtual

Definition at line 720 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnGCCAsmStmt().

virtual bool clang::TargetInfo::validateCpuSupports ( StringRef  Name) const
inlinevirtual

Definition at line 878 of file include/clang/Basic/TargetInfo.h.

Referenced by SemaBuiltinCpuSupports().

virtual bool clang::TargetInfo::validateGlobalRegisterVariable ( StringRef  RegName,
unsigned  RegSize,
bool HasSizeMismatch 
) const
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 696 of file include/clang/Basic/TargetInfo.h.

bool TargetInfo::validateInputConstraint ( MutableArrayRef< ConstraintInfo OutputConstraints,
ConstraintInfo info 
) const
virtual bool clang::TargetInfo::validateInputSize ( StringRef  ,
unsigned   
) const
inlinevirtual

Definition at line 715 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnGCCAsmStmt().

bool TargetInfo::validateOutputConstraint ( ConstraintInfo Info) const
virtual bool clang::TargetInfo::validateOutputSize ( StringRef  ,
unsigned   
) const
inlinevirtual

Definition at line 710 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnGCCAsmStmt().

virtual bool clang::TargetInfo::validateTarget ( DiagnosticsEngine Diags) const
inlinevirtual

Check the target is valid after it is fully initialized.

Definition at line 1005 of file include/clang/Basic/TargetInfo.h.

Member Data Documentation

const LangAS::Map* clang::TargetInfo::AddrSpaceMap
protected

Definition at line 85 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

bool clang::TargetInfo::BigEndian
protected

Definition at line 58 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::BoolAlign
protected

Definition at line 63 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::BoolWidth
protected

Definition at line 63 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::Char16Type
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::Char32Type
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned clang::TargetInfo::ComplexLongDoubleUsesFP2Ret
protected

Definition at line 92 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

std::unique_ptr<llvm::DataLayout> clang::TargetInfo::DataLayout
protected

Definition at line 79 of file include/clang/Basic/TargetInfo.h.

unsigned char clang::TargetInfo::DefaultAlignForAttributeAligned
protected

Definition at line 73 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::DoubleAlign
protected

Definition at line 67 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::DoubleFormat
protected

Definition at line 81 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::DoubleWidth
protected

Definition at line 67 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::Float128Align
protected

Definition at line 68 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::Float128Format
protected

Definition at line 81 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::FloatAlign
protected

Definition at line 66 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::FloatFormat
protected

Definition at line 81 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::FloatWidth
protected

Definition at line 66 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::HalfAlign
protected

Definition at line 65 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

const llvm::fltSemantics* clang::TargetInfo::HalfFormat
protected

Definition at line 81 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::HalfWidth
protected

Definition at line 65 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned clang::TargetInfo::HasAlignMac68kSupport
protected

Definition at line 90 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned clang::TargetInfo::HasBuiltinMSVaList
protected

Definition at line 94 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

bool clang::TargetInfo::HasFloat128
protected

Definition at line 61 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::Int64Type
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::IntAlign
protected

Definition at line 64 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

IntType clang::TargetInfo::IntMaxType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

IntType clang::TargetInfo::IntPtrType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::IntWidth
protected

Definition at line 64 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned clang::TargetInfo::IsRenderScriptTarget
protected

Definition at line 96 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::LargeArrayAlign
protected

Definition at line 69 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::LargeArrayMinWidth
protected

Definition at line 69 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::LongAlign
protected

Definition at line 70 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::LongDoubleAlign
protected

Definition at line 68 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::LongDoubleFormat
protected

Definition at line 81 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::LongDoubleWidth
protected

Definition at line 68 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::LongLongAlign
protected

Definition at line 71 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::LongLongWidth
protected

Definition at line 71 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::LongWidth
protected

Definition at line 70 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::MaxAtomicInlineWidth
protected

Definition at line 75 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::MaxAtomicPromoteWidth
protected

Definition at line 75 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned short clang::TargetInfo::MaxTLSAlign
protected

Definition at line 77 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned short clang::TargetInfo::MaxVectorAlign
protected

Definition at line 76 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

const char* clang::TargetInfo::MCountName
protected

Definition at line 80 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::MinGlobalAlign
protected

Definition at line 74 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

bool clang::TargetInfo::NoAsmVariants
protected

Definition at line 60 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

VersionTuple clang::TargetInfo::PlatformMinVersion
mutableprotected

Definition at line 88 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

StringRef clang::TargetInfo::PlatformName
mutableprotected

Definition at line 87 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::PointerAlign
protected

Definition at line 62 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::PointerWidth
protected

Definition at line 62 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::ProcessIDType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::PtrDiffType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned clang::TargetInfo::RealTypeUsesObjCFPRet
protected

Definition at line 91 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::RegParmMax
protected

Definition at line 83 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::SigAtomicType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned short clang::TargetInfo::SimdDefaultAlign
protected

Definition at line 78 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::SizeType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned char clang::TargetInfo::SSERegParmMax
protected

Definition at line 83 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned char clang::TargetInfo::SuitableAlign
protected

Definition at line 72 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

TargetCXXABI clang::TargetInfo::TheCXXABI
protected

Definition at line 84 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

bool clang::TargetInfo::TLSSupported
protected

Definition at line 59 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

bool clang::TargetInfo::UseAddrSpaceMapMangling
protected

Specify if mangling based on address space map should be used or not for language specific address spaces.

Definition at line 222 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned clang::TargetInfo::UseBitFieldTypeAlignment
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 203 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

unsigned clang::TargetInfo::UseExplicitBitFieldAlignment
protected

Whether explicit bit field alignment attributes are honored.

Definition at line 214 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned clang::TargetInfo::UseSignedCharForObjCBool
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 196 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned clang::TargetInfo::UseZeroLengthBitfieldAlignment
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 211 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

IntType clang::TargetInfo::WCharType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), and TargetInfo().

IntType clang::TargetInfo::WIntType
protected

Definition at line 188 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

unsigned clang::TargetInfo::ZeroLengthBitfieldBoundary
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 218 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().


The documentation for this class was generated from the following files: