|
| | AIXTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts) |
| | AIXTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts) |
| LangOptions::FPEvalMethodKind | getFPEvalMethod () const override |
| bool | defaultsToAIXPowerAlignment () const override |
| bool | areDefaultedSMFStillPOD (const LangOptions &) const override |
| | OSTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts) |
| void | getTargetDefines (const LangOptions &Opts, MacroBuilder &Builder) const override |
| | PPC64TargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts) |
| void | setMaxAtomicWidth () override |
| | Set the maximum inline or promote width lock-free atomic operation for the given target.
|
| BuiltinVaListKind | getBuiltinVaListKind () const override |
| | Returns the kind of __builtin_va_list type that should be used with this target.
|
| void | calculateDataLayout () |
| bool | setABI (const std::string &Name) override |
| | Use the specified ABI.
|
| CallingConvCheckResult | checkCallingConvention (CallingConv CC) const override |
| | Determines whether a given calling convention is valid for the target.
|
| std::pair< unsigned, unsigned > | hardwareInterferenceSizes () const override |
| | The first value in the pair is the minimum offset between two objects to avoid false sharing (destructive interference).
|
| | PPCTargetInfo (const llvm::Triple &Triple, const TargetOptions &) |
| void | adjust (DiagnosticsEngine &Diags, LangOptions &Opts, const TargetInfo *Aux) override |
| | Set forced language options.
|
| bool | isValidCPUName (StringRef Name) const override |
| | Determine whether this TargetInfo supports the given CPU name.
|
| void | fillValidCPUList (SmallVectorImpl< StringRef > &Values) const override |
| | Fill a SmallVectorImpl with the valid values to setCPU.
|
| bool | setCPU (const std::string &Name) override |
| | Target the specified CPU.
|
| StringRef | getABI () const override |
| | Get the ABI currently in use.
|
| llvm::SmallVector< Builtin::InfosShard > | getTargetBuiltins () const override |
| | Return information about target-specific builtins for the current primary target, and info about which builtins are non-portable across the current set of primary and secondary targets.
|
| bool | isCLZForZeroUndef () const override |
| | 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.
|
| void | getTargetDefines (const LangOptions &Opts, MacroBuilder &Builder) const override |
| | PPCTargetInfo::getTargetDefines - Return a set of the PowerPC-specific #defines that are not tied to a specific subtarget.
|
| bool | initFeatureMap (llvm::StringMap< bool > &Features, DiagnosticsEngine &Diags, StringRef CPU, const std::vector< std::string > &FeaturesVec) const override |
| | Initialize the map with the default set of target features for the CPU this should include all legal feature strings on the target.
|
| void | addP10SpecificFeatures (llvm::StringMap< bool > &Features) const |
| void | addP11SpecificFeatures (llvm::StringMap< bool > &Features) const |
| void | addFutureSpecificFeatures (llvm::StringMap< bool > &Features) const |
| bool | handleTargetFeatures (std::vector< std::string > &Features, DiagnosticsEngine &Diags) override |
| | handleTargetFeatures - Perform initialization based on the user configured set of features.
|
| bool | hasFeature (StringRef Feature) const override |
| | Determine whether the given target has the given feature.
|
| void | setFeatureEnabled (llvm::StringMap< bool > &Features, StringRef Name, bool Enabled) const override |
| | Enable or disable a specific target feature; the feature name must be valid.
|
| bool | supportsTargetAttributeTune () const override |
| | Determine whether this TargetInfo supports tune in target attribute.
|
| ArrayRef< const char * > | getGCCRegNames () const override |
| ArrayRef< TargetInfo::GCCRegAlias > | getGCCRegAliases () const override |
| ArrayRef< TargetInfo::AddlRegName > | getGCCAddlRegNames () const override |
| bool | validateAsmConstraint (const char *&Name, TargetInfo::ConstraintInfo &Info) const override |
| std::string | convertConstraint (const char *&Constraint) const override |
| std::string_view | getClobbers () const override |
| | Returns a string of target-specific clobbers, in LLVM format.
|
| int | getEHDataRegisterNumber (unsigned RegNo) const override |
| | Return the register number that __builtin_eh_return_regno would return with the specified argument.
|
| bool | hasSjLjLowering () const override |
| | Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp.
|
| const char * | getLongDoubleMangling () const override |
| | Return the mangled code of long double.
|
| const char * | getFloat128Mangling () const override |
| | Return the mangled code of __float128.
|
| const char * | getIbm128Mangling () const override |
| | Return the mangled code of __ibm128.
|
| bool | hasBitIntType () const override |
| | Determine whether the _BitInt type is supported on this target.
|
| bool | isSPRegName (StringRef RegName) const override |
| bool | supportsCpuSupports () const override |
| bool | supportsCpuIs () const override |
| bool | validateCpuSupports (StringRef Feature) const override |
| bool | validateCpuIs (StringRef Name) const override |
| virtual | ~TargetInfo () |
| TargetOptions & | getTargetOpts () const |
| | Retrieve the target options.
|
| IntType | getSizeType () const |
| IntType | getSignedSizeType () const |
| IntType | getIntMaxType () const |
| IntType | getUIntMaxType () const |
| IntType | getPtrDiffType (LangAS AddrSpace) const |
| IntType | getUnsignedPtrDiffType (LangAS 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 | getInt16Type () const |
| IntType | getUInt16Type () const |
| IntType | getSigAtomicType () const |
| IntType | getProcessIDType () const |
| bool | doUnsignedFixedPointTypesHavePadding () const |
| | In the event this target uses the same number of fractional bits for its unsigned types as it does with its signed counterparts, there will be exactly one bit of padding.
|
| unsigned | getTypeWidth (IntType T) const |
| | Return the width (in bits) of the specified integer type enum.
|
| virtual IntType | getIntTypeByWidth (unsigned BitWidth, bool IsSigned) const |
| | Return integer type with specified width.
|
| virtual IntType | getLeastIntTypeByWidth (unsigned BitWidth, bool IsSigned) const |
| | Return the smallest integer type with at least the specified width.
|
| FloatModeKind | getRealTypeByWidth (unsigned BitWidth, FloatModeKind ExplicitType) const |
| | Return floating point type with specified width.
|
| unsigned | getTypeAlign (IntType T) const |
| | Return the alignment (in bits) of the specified integer type enum.
|
| uint64_t | getPointerWidth (LangAS AddrSpace) const |
| | Return the width of pointers on this target, for the specified address space.
|
| uint64_t | getPointerAlign (LangAS AddrSpace) const |
| virtual uint64_t | getMaxPointerWidth () const |
| | Return the maximum width of pointers on this target.
|
| virtual uint64_t | getNullPointerValue (LangAS AddrSpace) const |
| | Get integer value for null pointer.
|
| virtual bool | isAddressSpaceSupersetOf (LangAS A, LangAS B) const |
| | Returns true if an address space can be safely converted to another.
|
| unsigned | getBoolWidth () const |
| | Return the size of '_Bool' and C++ 'bool' for this target, in bits.
|
| unsigned | getBoolAlign () const |
| | Return the alignment of '_Bool' and C++ 'bool' for this target.
|
| unsigned | getCharWidth () const |
| unsigned | getCharAlign () const |
| unsigned | getShortWidth () const |
| | getShortWidth/Align - Return the size of 'signed short' and 'unsigned short' for this target, in bits.
|
| unsigned | getShortAlign () const |
| unsigned | getIntWidth () const |
| | getIntWidth/Align - Return the size of 'signed int' and 'unsigned int' for this target, in bits.
|
| unsigned | getIntAlign () const |
| unsigned | getLongWidth () const |
| | getLongWidth/Align - Return the size of 'signed long' and 'unsigned long' for this target, in bits.
|
| unsigned | getLongAlign () const |
| unsigned | getLongLongWidth () const |
| | getLongLongWidth/Align - Return the size of 'signed long long' and 'unsigned long long' for this target, in bits.
|
| unsigned | getLongLongAlign () const |
| unsigned | getInt128Align () const |
| | getInt128Align() - Returns the alignment of Int128.
|
| unsigned | getBitIntMaxAlign () const |
| | getBitIntMaxAlign() - Returns the maximum possible alignment of '_BitInt' and 'unsigned _BitInt'.
|
| unsigned | getBitIntWidth (unsigned NumBits) const |
| | getBitIntAlign/Width - Return aligned size of '_BitInt' and 'unsigned _BitInt' for this target, in bits.
|
| unsigned | getBitIntAlign (unsigned NumBits) const |
| unsigned | getShortAccumWidth () const |
| | getShortAccumWidth/Align - Return the size of 'signed short _Accum' and 'unsigned short _Accum' for this target, in bits.
|
| unsigned | getShortAccumAlign () const |
| unsigned | getAccumWidth () const |
| | getAccumWidth/Align - Return the size of 'signed _Accum' and 'unsigned _Accum' for this target, in bits.
|
| unsigned | getAccumAlign () const |
| unsigned | getLongAccumWidth () const |
| | getLongAccumWidth/Align - Return the size of 'signed long _Accum' and 'unsigned long _Accum' for this target, in bits.
|
| unsigned | getLongAccumAlign () const |
| unsigned | getShortFractWidth () const |
| | getShortFractWidth/Align - Return the size of 'signed short _Fract' and 'unsigned short _Fract' for this target, in bits.
|
| unsigned | getShortFractAlign () const |
| unsigned | getFractWidth () const |
| | getFractWidth/Align - Return the size of 'signed _Fract' and 'unsigned _Fract' for this target, in bits.
|
| unsigned | getFractAlign () const |
| unsigned | getLongFractWidth () const |
| | getLongFractWidth/Align - Return the size of 'signed long _Fract' and 'unsigned long _Fract' for this target, in bits.
|
| unsigned | getLongFractAlign () const |
| unsigned | getShortAccumScale () const |
| | getShortAccumScale/IBits - Return the number of fractional/integral bits in a 'signed short _Accum' type.
|
| unsigned | getShortAccumIBits () const |
| unsigned | getAccumScale () const |
| | getAccumScale/IBits - Return the number of fractional/integral bits in a 'signed _Accum' type.
|
| unsigned | getAccumIBits () const |
| unsigned | getLongAccumScale () const |
| | getLongAccumScale/IBits - Return the number of fractional/integral bits in a 'signed long _Accum' type.
|
| unsigned | getLongAccumIBits () const |
| unsigned | getUnsignedShortAccumScale () const |
| | getUnsignedShortAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned short _Accum' type.
|
| unsigned | getUnsignedShortAccumIBits () const |
| unsigned | getUnsignedAccumScale () const |
| | getUnsignedAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned _Accum' type.
|
| unsigned | getUnsignedAccumIBits () const |
| unsigned | getUnsignedLongAccumScale () const |
| | getUnsignedLongAccumScale/IBits - Return the number of fractional/integral bits in a 'unsigned long _Accum' type.
|
| unsigned | getUnsignedLongAccumIBits () const |
| unsigned | getShortFractScale () const |
| | getShortFractScale - Return the number of fractional bits in a 'signed short _Fract' type.
|
| unsigned | getFractScale () const |
| | getFractScale - Return the number of fractional bits in a 'signed _Fract' type.
|
| unsigned | getLongFractScale () const |
| | getLongFractScale - Return the number of fractional bits in a 'signed long _Fract' type.
|
| unsigned | getUnsignedShortFractScale () const |
| | getUnsignedShortFractScale - Return the number of fractional bits in a 'unsigned short _Fract' type.
|
| unsigned | getUnsignedFractScale () const |
| | getUnsignedFractScale - Return the number of fractional bits in a 'unsigned _Fract' type.
|
| unsigned | getUnsignedLongFractScale () const |
| | getUnsignedLongFractScale - Return the number of fractional bits in a 'unsigned long _Fract' type.
|
| virtual bool | hasInt128Type () const |
| | Determine whether the __int128 type is supported on this target.
|
| virtual size_t | getMaxBitIntWidth () const |
| virtual bool | hasFastHalfType () const |
| | Determine whether the target has fast native support for operations on half types.
|
| virtual bool | allowHalfArgsAndReturns () const |
| | Whether half args and returns are supported.
|
| virtual bool | hasFloat128Type () const |
| | Determine whether the __float128 type is supported on this target.
|
| virtual bool | hasFloat16Type () const |
| | Determine whether the _Float16 type is supported on this target.
|
| virtual bool | hasBFloat16Type () const |
| | Determine whether the _BFloat16 type is supported on this target.
|
| virtual bool | hasFullBFloat16Type () const |
| | Determine whether the BFloat type is fully supported on this target, i.e arithemtic operations.
|
| virtual bool | hasIbm128Type () const |
| | Determine whether the __ibm128 type is supported on this target.
|
| virtual bool | hasLongDoubleType () const |
| | Determine whether the long double type is supported on this target.
|
| virtual bool | hasFPReturn () const |
| | Determine whether return of a floating point value is supported on this target.
|
| virtual bool | hasStrictFP () const |
| | Determine whether constrained floating point is supported on this target.
|
| unsigned | getSuitableAlign () const |
| | Return the alignment that is the largest alignment ever used for any scalar/SIMD data type on the target machine you are compiling for (including types with an extended alignment requirement).
|
| unsigned | getDefaultAlignForAttributeAligned () const |
| | Return the default alignment for attribute((aligned)) on this target, to be used if no alignment value is specified.
|
| virtual unsigned | getMinGlobalAlign (uint64_t Size, bool HasNonWeakDef) const |
| | getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes.
|
| 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.
|
| unsigned | getWCharWidth () const |
| | getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits.
|
| unsigned | getWCharAlign () const |
| unsigned | getChar16Width () const |
| | getChar16Width/Align - Return the size of 'char16_t' for this target, in bits.
|
| unsigned | getChar16Align () const |
| unsigned | getChar32Width () const |
| | getChar32Width/Align - Return the size of 'char32_t' for this target, in bits.
|
| unsigned | getChar32Align () const |
| unsigned | getHalfWidth () const |
| | getHalfWidth/Align/Format - Return the size/align/format of 'half'.
|
| unsigned | getHalfAlign () const |
| const llvm::fltSemantics & | getHalfFormat () const |
| unsigned | getFloatWidth () const |
| | getFloatWidth/Align/Format - Return the size/align/format of 'float'.
|
| unsigned | getFloatAlign () const |
| const llvm::fltSemantics & | getFloatFormat () const |
| unsigned | getBFloat16Width () const |
| | getBFloat16Width/Align/Format - Return the size/align/format of '__bf16'.
|
| unsigned | getBFloat16Align () const |
| const llvm::fltSemantics & | getBFloat16Format () const |
| unsigned | getDoubleWidth () const |
| | getDoubleWidth/Align/Format - Return the size/align/format of 'double'.
|
| unsigned | getDoubleAlign () const |
| const llvm::fltSemantics & | getDoubleFormat () const |
| unsigned | getLongDoubleWidth () const |
| | getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'.
|
| unsigned | getLongDoubleAlign () const |
| const llvm::fltSemantics & | getLongDoubleFormat () const |
| unsigned | getFloat128Width () const |
| | getFloat128Width/Align/Format - Return the size/align/format of '__float128'.
|
| unsigned | getFloat128Align () const |
| const llvm::fltSemantics & | getFloat128Format () const |
| unsigned | getIbm128Width () const |
| | getIbm128Width/Align/Format - Return the size/align/format of '__ibm128'.
|
| unsigned | getIbm128Align () const |
| const llvm::fltSemantics & | getIbm128Format () const |
| virtual const char * | getBFloat16Mangling () const |
| | Return the mangled code of bfloat.
|
| virtual bool | supportSourceEvalMethod () const |
| 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.
|
| unsigned | getMaxAtomicInlineWidth () const |
| | Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target.
|
| 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.
|
| unsigned | getMaxVectorAlign () const |
| | Return the maximum vector alignment supported for the given target.
|
| unsigned | getMaxOpenCLWorkGroupSize () const |
| virtual unsigned | getExnObjectAlignment () const |
| | Return the alignment (in bits) of the thrown exception object.
|
| unsigned | getIntMaxTWidth () const |
| | Return the size of intmax_t and uintmax_t for this target, in bits.
|
| virtual unsigned | getUnwindWordWidth () const |
| virtual unsigned | getRegisterWidth () const |
| | Return the "preferred" register width on this target.
|
| bool | hasUnalignedAccess () const |
| | Return true iff unaligned accesses are a single instruction (rather than a synthesized sequence).
|
| bool | hasCheapUnalignedBitFieldAccess () const |
| | Return true iff unaligned accesses are cheap.
|
| const char * | getUserLabelPrefix () const |
| | Returns the default value of the USER_LABEL_PREFIX macro, which is the prefix given to user symbols by default.
|
| const char * | getMCountName () const |
| | Returns the name of the mcount instrumentation function.
|
| bool | useSignedCharForObjCBool () const |
| | Check if the Objective-C built-in boolean type should be signed char.
|
| void | noSignedCharForObjCBool () |
| bool | useBitFieldTypeAlignment () const |
| | Check whether the alignment of bit-field types is respected when laying out structures.
|
| bool | useZeroLengthBitfieldAlignment () const |
| | Check whether zero length bitfields should force alignment of the next member.
|
| bool | useLeadingZeroLengthBitfield () const |
| | Check whether zero length bitfield alignment is respected if they are leading members.
|
| unsigned | getZeroLengthBitfieldBoundary () const |
| | Get the fixed alignment value in bits for a member that follows a zero length bitfield.
|
| unsigned | getLargestOverSizedBitfieldContainer () const |
| unsigned | getMaxAlignedAttribute () const |
| | Get the maximum alignment in bits for a static variable with aligned attribute.
|
| bool | useExplicitBitFieldAlignment () const |
| | Check whether explicit bitfield alignment attributes should be.
|
| bool | hasAlignMac68kSupport () const |
| | Check whether this target support '#pragma options align=mac68k'.
|
| const char * | getTypeConstantSuffix (IntType T) const |
| | Return the constant suffix for the specified integer type enum.
|
| bool | useObjCFPRetForRealType (FloatModeKind T) const |
| | Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target.
|
| bool | useObjCFP2RetForComplexLongDouble () const |
| | Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target.
|
| virtual bool | useFP16ConversionIntrinsics () const |
| | Check whether llvm intrinsics such as llvm.convert.to.fp16 should be used to convert to and from __fp16.
|
| bool | useAddressSpaceMapMangling () const |
| | Specify if mangling based on address space map should be used or not for language specific address spaces.
|
| virtual std::optional< std::pair< unsigned, unsigned > > | getVScaleRange (const LangOptions &LangOpts, ArmStreamingKind Mode, llvm::StringMap< bool > *FeatureMap=nullptr) const |
| | Returns target-specific min and max values VScale_Range.
|
| bool | hasBuiltinMSVaList () const |
| | Returns whether or not type __builtin_ms_va_list type is available on this target.
|
| bool | hasAArch64ACLETypes () const |
| | Returns whether or not the AArch64 ACLE built-in types are available on this target.
|
| bool | hasRISCVVTypes () const |
| | Returns whether or not the RISC-V V built-in types are available on this target.
|
| uint32_t | getARMCDECoprocMask () const |
| | For ARM targets returns a mask defining which coprocessors are configured as Custom Datapath.
|
| virtual unsigned | getARMLDREXMask () const |
| bool | isValidClobber (StringRef Name) const |
| | Returns whether the passed in string is a valid clobber in an inline asm statement.
|
| virtual bool | isValidGCCRegisterName (StringRef Name) const |
| | Returns whether the passed in string is a valid register name according to GCC.
|
| StringRef | getNormalizedGCCRegisterName (StringRef Name, bool ReturnCanonical=false) const |
| | Returns the "normalized" GCC register name.
|
| virtual StringRef | getConstraintRegister (StringRef Constraint, StringRef Expression) const |
| | Extracts a register from the passed constraint (if it is a single-register constraint) and the asm label expression related to a variable in the input or output list of an inline asm statement.
|
| virtual bool | validateGlobalRegisterVariable (StringRef RegName, unsigned RegSize, bool &HasSizeMismatch) const |
| | Validate register name used for global register variables.
|
| bool | validateOutputConstraint (ConstraintInfo &Info) const |
| bool | validateInputConstraint (MutableArrayRef< ConstraintInfo > OutputConstraints, ConstraintInfo &info) const |
| virtual bool | validateOutputSize (const llvm::StringMap< bool > &FeatureMap, StringRef, unsigned) const |
| virtual bool | validateInputSize (const llvm::StringMap< bool > &FeatureMap, StringRef, unsigned) const |
| virtual bool | validateConstraintModifier (StringRef, char, unsigned, std::string &) const |
| bool | resolveSymbolicName (const char *&Name, ArrayRef< ConstraintInfo > OutputConstraints, unsigned &Index) const |
| std::string | simplifyConstraint (StringRef Constraint, SmallVectorImpl< ConstraintInfo > *OutCons=nullptr) const |
| virtual std::optional< std::string > | handleAsmEscapedChar (char C) const |
| | Replace some escaped characters with another string based on target-specific rules.
|
| virtual bool | isNan2008 () const |
| | Returns true if NaN encoding is IEEE 754-2008.
|
| const llvm::Triple & | getTriple () const |
| | Returns the target triple of the primary target.
|
| virtual std::optional< std::string > | getTargetID () const |
| | Returns the target ID if supported.
|
| const char * | getDataLayoutString () const |
| virtual bool | hasProtectedVisibility () const |
| | Does this target support "protected" visibility?
|
| virtual bool | shouldDLLImportComdatSymbols () const |
| | Does this target aim for semantic compatibility with Microsoft C++ code using dllimport/export attributes?
|
| virtual bool | hasPS4DLLImportExport () const |
| TargetCXXABI | getCXXABI () const |
| | Get the C++ ABI currently in use.
|
| bool | shouldUseMicrosoftCCforMangling () const |
| | Should the Microsoft mangling scheme be used for C Calling Convention.
|
| virtual void | fillValidTuneCPUList (SmallVectorImpl< StringRef > &Values) const |
| | Fill a SmallVectorImpl with the valid values for tuning CPU.
|
| virtual bool | isValidTuneCPUName (StringRef Name) const |
| | Determine whether this TargetInfo supports the given CPU name for tuning.
|
| virtual ParsedTargetAttr | parseTargetAttr (StringRef Str) const |
| virtual bool | setFPMath (StringRef Name) |
| | Use the specified unit for FP math.
|
| virtual bool | hasFeatureEnabled (const llvm::StringMap< bool > &Features, StringRef Name) const |
| | Check if target has a given feature enabled.
|
| virtual bool | isValidFeatureName (StringRef Feature) const |
| | Determine whether this TargetInfo supports the given feature.
|
| virtual bool | doesFeatureAffectCodeGen (StringRef Feature) const |
| | Returns true if feature has an impact on target code generation.
|
| virtual bool | isBranchProtectionSupportedArch (StringRef Arch) const |
| | Determine if the Architecture in this TargetInfo supports branch protection.
|
| virtual bool | validateBranchProtection (StringRef Spec, StringRef Arch, BranchProtectionInfo &BPI, const LangOptions &LO, StringRef &Err) const |
| | Determine if this TargetInfo supports the given branch protection specification.
|
| bool | isReadOnlyFeature (StringRef Feature) const |
| | Determine whether the given target feature is read only.
|
| bool | supportsMultiVersioning () const |
| | Identify whether this target supports multiversioning of functions, which requires support for cpu_supports and cpu_is functionality.
|
| bool | supportsIFunc () const |
| | Identify whether this target supports IFuncs.
|
| virtual bool | supportsCpuInit () const |
| virtual llvm::APInt | getFMVPriority (ArrayRef< StringRef > Features) const |
| virtual bool | validateCPUSpecificCPUDispatch (StringRef Name) const |
| virtual char | CPUSpecificManglingCharacter (StringRef Name) const |
| virtual StringRef | getCPUSpecificTuneName (StringRef Name) const |
| virtual void | getCPUSpecificCPUDispatchFeatures (StringRef Name, llvm::SmallVectorImpl< StringRef > &Features) const |
| virtual std::optional< unsigned > | getCPUCacheLineSize () const |
| unsigned | getRegParmMax () const |
| bool | isTLSSupported () const |
| | Whether the target supports thread-local storage.
|
| unsigned | getMaxTLSAlign () const |
| | Return the maximum alignment (in bits) of a TLS variable.
|
| bool | isVLASupported () const |
| | Whether target supports variable-length arrays.
|
| bool | isSEHTrySupported () const |
| | Whether the target supports SEH __try.
|
| bool | hasNoAsmVariants () const |
| | Return true if {|} are normal characters in the asm string.
|
| virtual const char * | getStaticInitSectionSpecifier () const |
| | Return the section to use for C++ static initialization functions.
|
| const LangASMap & | getAddressSpaceMap () const |
| unsigned | getTargetAddressSpace (LangAS AS) const |
| virtual bool | validatePointerAuthKey (const llvm::APSInt &value) const |
| | Determine whether the given pointer-authentication key is valid.
|
| virtual LangAS | getOpenCLBuiltinAddressSpace (unsigned AS) const |
| | Map from the address space field in builtin description strings to the language address space.
|
| virtual LangAS | getCUDABuiltinAddressSpace (unsigned AS) const |
| | Map from the address space field in builtin description strings to the language address space.
|
| virtual std::optional< LangAS > | getConstantAddressSpace () const |
| | Return an AST address space which can be used opportunistically for constant global memory.
|
| virtual const llvm::omp::GV & | getGridValue () const |
| StringRef | getPlatformName () const |
| | Retrieve the name of the platform as it is used in the availability attribute.
|
| VersionTuple | getPlatformMinVersion () const |
| | Retrieve the minimum desired version of the platform, to which the program should be compiled.
|
| bool | isBigEndian () const |
| bool | isLittleEndian () const |
| virtual bool | supportsExtendIntArgs () const |
| | Whether the option -fextend-arguments={32,64} is supported on the target.
|
| virtual bool | checkArithmeticFenceSupported () const |
| | Controls if __arithmetic_fence is supported in the targeted backend.
|
| virtual CallingConv | getDefaultCallingConv () const |
| | Gets the default calling convention for the given target.
|
| AtomicOptions | getAtomicOpts () const |
| | Get the default atomic options.
|
| virtual CallingConvKind | getCallingConvKind (bool ClangABICompat4) const |
| virtual bool | callGlobalDeleteInDeletingDtor (const LangOptions &) const |
| | Controls whether global operator delete is called by the deleting destructor or at the point where ::delete was called.
|
| virtual bool | checkCFProtectionBranchSupported (DiagnosticsEngine &Diags) const |
| | Check if the target supports CFProtection branch.
|
| virtual CFBranchLabelSchemeKind | getDefaultCFBranchLabelScheme () const |
| | Get the target default CFBranchLabelScheme scheme.
|
| virtual bool | checkCFBranchLabelSchemeSupported (const CFBranchLabelSchemeKind Scheme, DiagnosticsEngine &Diags) const |
| virtual bool | checkCFProtectionReturnSupported (DiagnosticsEngine &Diags) const |
| | Check if the target supports CFProtection return.
|
| virtual bool | allowsLargerPreferedTypeAlignment () const |
| | Whether target allows to overalign ABI-specified preferred alignment.
|
| virtual void | setSupportedOpenCLOpts () |
| | Set supported OpenCL extensions and optional core features.
|
| virtual void | supportAllOpenCLOpts (bool V=true) |
| virtual void | setCommandLineOpenCLOpts () |
| | Set supported OpenCL extensions as written on command line.
|
| llvm::StringMap< bool > & | getSupportedOpenCLOpts () |
| | Get supported OpenCL extensions and optional core features.
|
| const llvm::StringMap< bool > & | getSupportedOpenCLOpts () const |
| | Get const supported OpenCL extensions and optional core features.
|
| virtual LangAS | getOpenCLTypeAddrSpace (OpenCLTypeKind TK) const |
| | Get address space for OpenCL type.
|
| virtual unsigned | getVtblPtrAddressSpace () const |
| virtual std::optional< unsigned > | getDWARFAddressSpace (unsigned AddressSpace) const |
| const llvm::VersionTuple & | getSDKVersion () const |
| virtual bool | validateTarget (DiagnosticsEngine &Diags) const |
| | Check the target is valid after it is fully initialized.
|
| virtual bool | validateOpenCLTarget (const LangOptions &Opts, DiagnosticsEngine &Diags) const |
| | Check that OpenCL target has valid options setting based on OpenCL version.
|
| virtual void | setAuxTarget (const TargetInfo *Aux) |
| bool | hasMicrosoftRecordLayout () const |
| virtual bool | allowDebugInfoForExternalRef () const |
| | Whether target allows debuginfo types for decl only variables/functions.
|
| const llvm::Triple * | getDarwinTargetVariantTriple () const |
| | Returns the darwin target variant triple, the variant of the deployment target for which the code is being compiled.
|
| std::optional< VersionTuple > | getDarwinTargetVariantSDKVersion () const |
| | Returns the version of the darwin target variant SDK which was used during the compilation if one was specified, or an empty version otherwise.
|
| virtual bool | hasHIPImageSupport () const |
| | Whether to support HIP image/texture API's.
|