LLVM  4.0.0
Public Types | Public Member Functions | Protected Attributes | List of all members
llvm::AArch64Subtarget Class Referencefinal

#include <AArch64Subtarget.h>

Inheritance diagram for llvm::AArch64Subtarget:
[legend]
Collaboration diagram for llvm::AArch64Subtarget:
[legend]

Public Types

enum  ARMProcFamilyEnum : uint8_t {
  Others, CortexA35, CortexA53, CortexA57,
  CortexA72, CortexA73, Cyclone, ExynosM1,
  Falkor, Kryo, Vulcan
}
 

Public Member Functions

 AArch64Subtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM, bool LittleEndian)
 This constructor initializes the data members to match that of the specified triple. More...
 
void setGISelAccessor (GISelAccessor &GISel)
 This object will take onwership of GISelAccessor. More...
 
const AArch64SelectionDAGInfogetSelectionDAGInfo () const override
 
const AArch64FrameLoweringgetFrameLowering () const override
 
const AArch64TargetLoweringgetTargetLowering () const override
 
const AArch64InstrInfogetInstrInfo () const override
 
const AArch64RegisterInfogetRegisterInfo () const override
 
const CallLoweringgetCallLowering () const override
 
const InstructionSelectorgetInstructionSelector () const override
 
const LegalizerInfogetLegalizerInfo () const override
 
const RegisterBankInfogetRegBankInfo () const override
 
const TriplegetTargetTriple () const
 
bool enableMachineScheduler () const override
 
bool enablePostRAScheduler () const override
 
ARMProcFamilyEnum getProcFamily () const
 Returns ARM processor family. More...
 
bool hasV8_1aOps () const
 
bool hasV8_2aOps () const
 
bool hasZeroCycleRegMove () const
 
bool hasZeroCycleZeroing () const
 
bool requiresStrictAlign () const
 
bool isXRaySupported () const override
 
bool isX18Reserved () const
 
bool hasFPARMv8 () const
 
bool hasNEON () const
 
bool hasCrypto () const
 
bool hasCRC () const
 
bool hasLSE () const
 
bool hasRAS () const
 
bool balanceFPOps () const
 
bool predictableSelectIsExpensive () const
 
bool hasCustomCheapAsMoveHandling () const
 
bool isMisaligned128StoreSlow () const
 
bool isPaired128Slow () const
 
bool useAlternateSExtLoadCVTF32Pattern () const
 
bool hasArithmeticBccFusion () const
 
bool hasArithmeticCbzFusion () const
 
bool useRSqrt () const
 
unsigned getMaxInterleaveFactor () const
 
unsigned getVectorInsertExtractBaseCost () const
 
unsigned getCacheLineSize () const
 
unsigned getPrefetchDistance () const
 
unsigned getMinPrefetchStride () const
 
unsigned getMaxPrefetchIterationsAhead () const
 
unsigned getPrefFunctionAlignment () const
 
unsigned getPrefLoopAlignment () const
 
unsigned getMaximumJumpTableSize () const
 
bool supportsAddressTopByteIgnored () const
 CPU has TBI (top byte of addresses is ignored during HW address translation) and OS enables it. More...
 
bool hasPerfMon () const
 
bool hasFullFP16 () const
 
bool hasSPE () const
 
bool isLittleEndian () const
 
bool isTargetDarwin () const
 
bool isTargetIOS () const
 
bool isTargetLinux () const
 
bool isTargetWindows () const
 
bool isTargetAndroid () const
 
bool isTargetCOFF () const
 
bool isTargetELF () const
 
bool isTargetMachO () const
 
bool useAA () const override
 
unsigned getMaxInlineSizeThreshold () const
 getMaxInlineSizeThreshold - Returns the maximum memset / memcpy size that still makes it profitable to inline the call. More...
 
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
 ParseSubtargetFeatures - Parses features string setting specified subtarget options. More...
 
unsigned char ClassifyGlobalReference (const GlobalValue *GV, const TargetMachine &TM) const
 ClassifyGlobalReference - Find the target operand flags that describe how a global value should be referenced for the current subtarget. More...
 
const char * getBZeroEntry () const
 This function returns the name of a function which has an interface like the non-standard bzero function, if such a function exists on the current subtarget and it is considered prefereable over memset with zero passed as the second argument. More...
 
void overrideSchedPolicy (MachineSchedPolicy &Policy, unsigned NumRegionInstrs) const override
 
bool enableEarlyIfConversion () const override
 
std::unique_ptr< PBQPRAConstraintgetCustomPBQPConstraints () const override
 

Protected Attributes

ARMProcFamilyEnum ARMProcFamily = Others
 ARMProcFamily - ARM processor family: Cortex-A53, Cortex-A57, and others. More...
 
bool HasV8_1aOps = false
 
bool HasV8_2aOps = false
 
bool HasFPARMv8 = false
 
bool HasNEON = false
 
bool HasCrypto = false
 
bool HasCRC = false
 
bool HasLSE = false
 
bool HasRAS = false
 
bool HasPerfMon = false
 
bool HasFullFP16 = false
 
bool HasSPE = false
 
bool HasZeroCycleRegMove = false
 
bool HasZeroCycleZeroing = false
 
bool StrictAlign = false
 
bool UseAA = false
 
bool PredictableSelectIsExpensive = false
 
bool BalanceFPOps = false
 
bool CustomAsCheapAsMove = false
 
bool UsePostRAScheduler = false
 
bool Misaligned128StoreIsSlow = false
 
bool Paired128IsSlow = false
 
bool UseAlternateSExtLoadCVTF32Pattern = false
 
bool HasArithmeticBccFusion = false
 
bool HasArithmeticCbzFusion = false
 
bool DisableLatencySchedHeuristic = false
 
bool UseRSqrt = false
 
uint8_t MaxInterleaveFactor = 2
 
uint8_t VectorInsertExtractBaseCost = 3
 
uint16_t CacheLineSize = 0
 
uint16_t PrefetchDistance = 0
 
uint16_t MinPrefetchStride = 1
 
unsigned MaxPrefetchIterationsAhead = UINT_MAX
 
unsigned PrefFunctionAlignment = 0
 
unsigned PrefLoopAlignment = 0
 
unsigned MaxJumpTableSize = 0
 
bool ReserveX18
 
bool IsLittle
 
Triple TargetTriple
 TargetTriple - What processor and OS we're targeting. More...
 
AArch64FrameLowering FrameLowering
 
AArch64InstrInfo InstrInfo
 
AArch64SelectionDAGInfo TSInfo
 
AArch64TargetLowering TLInfo
 
std::unique_ptr< GISelAccessorGISel
 Gather the accessor points to GlobalISel-related APIs. More...
 

Detailed Description

Definition at line 35 of file AArch64Subtarget.h.

Member Enumeration Documentation

Enumerator
Others 
CortexA35 
CortexA53 
CortexA57 
CortexA72 
CortexA73 
Cyclone 
ExynosM1 
Falkor 
Kryo 
Vulcan 

Definition at line 37 of file AArch64Subtarget.h.

Constructor & Destructor Documentation

AArch64Subtarget::AArch64Subtarget ( const Triple TT,
const std::string &  CPU,
const std::string &  FS,
const TargetMachine TM,
bool  LittleEndian 
)

This constructor initializes the data members to match that of the specified triple.

Definition at line 95 of file AArch64Subtarget.cpp.

Member Function Documentation

bool llvm::AArch64Subtarget::balanceFPOps ( ) const
inline

Definition at line 186 of file AArch64Subtarget.h.

References BalanceFPOps.

Referenced by getCustomPBQPConstraints().

unsigned char AArch64Subtarget::ClassifyGlobalReference ( const GlobalValue GV,
const TargetMachine TM 
) const

ClassifyGlobalReference - Find the target operand flags that describe how a global value should be referenced for the current subtarget.

Find the target operand flags that describe how a global value should be referenced for the current subtarget.

Definition at line 126 of file AArch64Subtarget.cpp.

References llvm::TargetMachine::getCodeModel(), llvm::GlobalValue::getParent(), llvm::GlobalValue::hasExternalWeakLinkage(), isTargetMachO(), llvm::CodeModel::Large, llvm::AArch64II::MO_GOT, llvm::AArch64II::MO_NO_FLAG, llvm::TargetMachine::shouldAssumeDSOLocal(), and llvm::CodeModel::Small.

Referenced by llvm::AArch64InstrInfo::expandPostRAPseudo(), and llvm::AArch64InstructionSelector::select().

bool AArch64Subtarget::enableEarlyIfConversion ( ) const
override

Definition at line 169 of file AArch64Subtarget.cpp.

References EnableEarlyIfConvert.

bool llvm::AArch64Subtarget::enableMachineScheduler ( ) const
inlineoverride

Definition at line 155 of file AArch64Subtarget.h.

bool llvm::AArch64Subtarget::enablePostRAScheduler ( ) const
inlineoverride

Definition at line 156 of file AArch64Subtarget.h.

References UsePostRAScheduler.

const char * AArch64Subtarget::getBZeroEntry ( ) const

This function returns the name of a function which has an interface like the non-standard bzero function, if such a function exists on the current subtarget and it is considered prefereable over memset with zero passed as the second argument.

Otherwise it returns null.

Definition at line 149 of file AArch64Subtarget.cpp.

References isTargetDarwin().

Referenced by llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset().

unsigned llvm::AArch64Subtarget::getCacheLineSize ( ) const
inline

Definition at line 203 of file AArch64Subtarget.h.

References CacheLineSize.

Referenced by llvm::AArch64TTIImpl::getCacheLineSize().

const CallLowering * AArch64Subtarget::getCallLowering ( ) const
override

Definition at line 103 of file AArch64Subtarget.cpp.

References assert(), and GISel.

std::unique_ptr< PBQPRAConstraint > AArch64Subtarget::getCustomPBQPConstraints ( ) const
override

Definition at line 187 of file AArch64Subtarget.cpp.

References balanceFPOps().

const AArch64FrameLowering* llvm::AArch64Subtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 140 of file AArch64Subtarget.h.

References FrameLowering.

const AArch64InstrInfo* llvm::AArch64Subtarget::getInstrInfo ( ) const
inlineoverride
const InstructionSelector * AArch64Subtarget::getInstructionSelector ( ) const
override

Definition at line 108 of file AArch64Subtarget.cpp.

References assert(), and GISel.

const LegalizerInfo * AArch64Subtarget::getLegalizerInfo ( ) const
override

Definition at line 113 of file AArch64Subtarget.cpp.

References assert(), and GISel.

unsigned llvm::AArch64Subtarget::getMaximumJumpTableSize ( ) const
inline

Definition at line 212 of file AArch64Subtarget.h.

References MaxJumpTableSize.

Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering().

unsigned llvm::AArch64Subtarget::getMaxInlineSizeThreshold ( ) const
inline

getMaxInlineSizeThreshold - Returns the maximum memset / memcpy size that still makes it profitable to inline the call.

Definition at line 238 of file AArch64Subtarget.h.

unsigned llvm::AArch64Subtarget::getMaxInterleaveFactor ( ) const
inline

Definition at line 199 of file AArch64Subtarget.h.

References MaxInterleaveFactor.

Referenced by llvm::AArch64TTIImpl::getMaxInterleaveFactor().

unsigned llvm::AArch64Subtarget::getMaxPrefetchIterationsAhead ( ) const
inline
unsigned llvm::AArch64Subtarget::getMinPrefetchStride ( ) const
inline

Definition at line 205 of file AArch64Subtarget.h.

References MinPrefetchStride.

Referenced by llvm::AArch64TTIImpl::getMinPrefetchStride().

unsigned llvm::AArch64Subtarget::getPrefetchDistance ( ) const
inline

Definition at line 204 of file AArch64Subtarget.h.

References PrefetchDistance.

Referenced by llvm::AArch64TTIImpl::getPrefetchDistance().

unsigned llvm::AArch64Subtarget::getPrefFunctionAlignment ( ) const
inline
unsigned llvm::AArch64Subtarget::getPrefLoopAlignment ( ) const
inline

Definition at line 210 of file AArch64Subtarget.h.

References PrefLoopAlignment.

Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering().

ARMProcFamilyEnum llvm::AArch64Subtarget::getProcFamily ( ) const
inline

Returns ARM processor family.

Avoid this function! CPU specifics should be kept local to this class and preferably modeled with SubtargetFeatures or properties in initializeProperties().

Definition at line 164 of file AArch64Subtarget.h.

References ARMProcFamily.

Referenced by llvm::AArch64InstrInfo::isAsCheapAsAMove().

const RegisterBankInfo * AArch64Subtarget::getRegBankInfo ( ) const
override

Definition at line 118 of file AArch64Subtarget.cpp.

References assert(), and GISel.

const AArch64RegisterInfo* llvm::AArch64Subtarget::getRegisterInfo ( ) const
inlineoverride
const AArch64SelectionDAGInfo* llvm::AArch64Subtarget::getSelectionDAGInfo ( ) const
inlineoverride

Definition at line 137 of file AArch64Subtarget.h.

References TSInfo.

const AArch64TargetLowering* llvm::AArch64Subtarget::getTargetLowering ( ) const
inlineoverride
const Triple& llvm::AArch64Subtarget::getTargetTriple ( ) const
inline

Definition at line 154 of file AArch64Subtarget.h.

References TargetTriple.

unsigned llvm::AArch64Subtarget::getVectorInsertExtractBaseCost ( ) const
inline

Definition at line 200 of file AArch64Subtarget.h.

References VectorInsertExtractBaseCost.

Referenced by llvm::AArch64TTIImpl::getVectorInstrCost().

bool llvm::AArch64Subtarget::hasArithmeticBccFusion ( ) const
inline
bool llvm::AArch64Subtarget::hasArithmeticCbzFusion ( ) const
inline
bool llvm::AArch64Subtarget::hasCRC ( ) const
inline

Definition at line 183 of file AArch64Subtarget.h.

References HasCRC.

bool llvm::AArch64Subtarget::hasCrypto ( ) const
inline

Definition at line 182 of file AArch64Subtarget.h.

References HasCrypto.

bool llvm::AArch64Subtarget::hasCustomCheapAsMoveHandling ( ) const
inline

Definition at line 190 of file AArch64Subtarget.h.

References CustomAsCheapAsMove.

Referenced by llvm::AArch64InstrInfo::isAsCheapAsAMove().

bool llvm::AArch64Subtarget::hasFPARMv8 ( ) const
inline
bool llvm::AArch64Subtarget::hasFullFP16 ( ) const
inline

Definition at line 219 of file AArch64Subtarget.h.

References HasFullFP16.

bool llvm::AArch64Subtarget::hasLSE ( ) const
inline

Definition at line 184 of file AArch64Subtarget.h.

References HasLSE.

bool llvm::AArch64Subtarget::hasNEON ( ) const
inline
bool llvm::AArch64Subtarget::hasPerfMon ( ) const
inline

Definition at line 218 of file AArch64Subtarget.h.

References HasPerfMon.

Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering().

bool llvm::AArch64Subtarget::hasRAS ( ) const
inline

Definition at line 185 of file AArch64Subtarget.h.

References HasRAS.

bool llvm::AArch64Subtarget::hasSPE ( ) const
inline

Definition at line 220 of file AArch64Subtarget.h.

References HasSPE.

bool llvm::AArch64Subtarget::hasV8_1aOps ( ) const
inline

Definition at line 168 of file AArch64Subtarget.h.

References HasV8_1aOps.

bool llvm::AArch64Subtarget::hasV8_2aOps ( ) const
inline

Definition at line 169 of file AArch64Subtarget.h.

References HasV8_2aOps.

bool llvm::AArch64Subtarget::hasZeroCycleRegMove ( ) const
inline

Definition at line 171 of file AArch64Subtarget.h.

References HasZeroCycleRegMove.

Referenced by llvm::AArch64InstrInfo::copyPhysReg().

bool llvm::AArch64Subtarget::hasZeroCycleZeroing ( ) const
inline
bool llvm::AArch64Subtarget::isLittleEndian ( ) const
inline

Definition at line 222 of file AArch64Subtarget.h.

References IsLittle.

bool llvm::AArch64Subtarget::isMisaligned128StoreSlow ( ) const
inline
bool llvm::AArch64Subtarget::isPaired128Slow ( ) const
inline

Definition at line 192 of file AArch64Subtarget.h.

References Paired128IsSlow.

Referenced by llvm::AArch64InstrInfo::isCandidateToMergeOrPair().

bool llvm::AArch64Subtarget::isTargetAndroid ( ) const
inline
bool llvm::AArch64Subtarget::isTargetCOFF ( ) const
inline

Definition at line 230 of file AArch64Subtarget.h.

References llvm::Triple::isOSBinFormatCOFF(), and TargetTriple.

bool llvm::AArch64Subtarget::isTargetDarwin ( ) const
inline
bool llvm::AArch64Subtarget::isTargetELF ( ) const
inline

Definition at line 231 of file AArch64Subtarget.h.

References llvm::Triple::isOSBinFormatELF(), and TargetTriple.

bool llvm::AArch64Subtarget::isTargetIOS ( ) const
inline

Definition at line 225 of file AArch64Subtarget.h.

References llvm::Triple::isiOS(), and TargetTriple.

bool llvm::AArch64Subtarget::isTargetLinux ( ) const
inline

Definition at line 226 of file AArch64Subtarget.h.

References llvm::Triple::isOSLinux(), and TargetTriple.

bool llvm::AArch64Subtarget::isTargetMachO ( ) const
inline
bool llvm::AArch64Subtarget::isTargetWindows ( ) const
inline

Definition at line 227 of file AArch64Subtarget.h.

References llvm::Triple::isOSWindows(), and TargetTriple.

bool llvm::AArch64Subtarget::isX18Reserved ( ) const
inline
bool llvm::AArch64Subtarget::isXRaySupported ( ) const
inlineoverride

Definition at line 177 of file AArch64Subtarget.h.

void AArch64Subtarget::overrideSchedPolicy ( MachineSchedPolicy Policy,
unsigned  NumRegionInstrs 
) const
override
void llvm::AArch64Subtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)

ParseSubtargetFeatures - Parses features string setting specified subtarget options.

Definition of function is auto generated by tblgen.

bool llvm::AArch64Subtarget::predictableSelectIsExpensive ( ) const
inline
bool llvm::AArch64Subtarget::requiresStrictAlign ( ) const
inline
void llvm::AArch64Subtarget::setGISelAccessor ( GISelAccessor GISel)
inline

This object will take onwership of GISelAccessor.

Definition at line 133 of file AArch64Subtarget.h.

bool AArch64Subtarget::supportsAddressTopByteIgnored ( ) const

CPU has TBI (top byte of addresses is ignored during HW address translation) and OS enables it.

Definition at line 173 of file AArch64Subtarget.cpp.

References llvm::Triple::getiOSVersion(), llvm::Triple::isiOS(), TargetTriple, and UseAddressTopByteIgnored.

Referenced by llvm::AArch64TargetLowering::AArch64TargetLowering(), and performSTORECombine().

bool llvm::AArch64Subtarget::useAA ( ) const
inlineoverride

Definition at line 234 of file AArch64Subtarget.h.

References UseAA.

bool llvm::AArch64Subtarget::useAlternateSExtLoadCVTF32Pattern ( ) const
inline

Definition at line 193 of file AArch64Subtarget.h.

References UseAlternateSExtLoadCVTF32Pattern.

bool llvm::AArch64Subtarget::useRSqrt ( ) const
inline

Definition at line 198 of file AArch64Subtarget.h.

References UseRSqrt.

Member Data Documentation

ARMProcFamilyEnum llvm::AArch64Subtarget::ARMProcFamily = Others
protected

ARMProcFamily - ARM processor family: Cortex-A53, Cortex-A57, and others.

Definition at line 53 of file AArch64Subtarget.h.

Referenced by getProcFamily().

bool llvm::AArch64Subtarget::BalanceFPOps = false
protected

Definition at line 78 of file AArch64Subtarget.h.

Referenced by balanceFPOps().

uint16_t llvm::AArch64Subtarget::CacheLineSize = 0
protected

Definition at line 90 of file AArch64Subtarget.h.

Referenced by getCacheLineSize().

bool llvm::AArch64Subtarget::CustomAsCheapAsMove = false
protected

Definition at line 79 of file AArch64Subtarget.h.

Referenced by hasCustomCheapAsMoveHandling().

bool llvm::AArch64Subtarget::DisableLatencySchedHeuristic = false
protected

Definition at line 86 of file AArch64Subtarget.h.

Referenced by overrideSchedPolicy().

AArch64FrameLowering llvm::AArch64Subtarget::FrameLowering
protected

Definition at line 106 of file AArch64Subtarget.h.

Referenced by getFrameLowering().

std::unique_ptr<GISelAccessor> llvm::AArch64Subtarget::GISel
protected

Gather the accessor points to GlobalISel-related APIs.

This is used to avoid ifndefs spreading around while GISel is an optional library.

Definition at line 113 of file AArch64Subtarget.h.

Referenced by getCallLowering(), getInstructionSelector(), getLegalizerInfo(), and getRegBankInfo().

bool llvm::AArch64Subtarget::HasArithmeticBccFusion = false
protected

Definition at line 84 of file AArch64Subtarget.h.

Referenced by hasArithmeticBccFusion().

bool llvm::AArch64Subtarget::HasArithmeticCbzFusion = false
protected

Definition at line 85 of file AArch64Subtarget.h.

Referenced by hasArithmeticCbzFusion().

bool llvm::AArch64Subtarget::HasCRC = false
protected

Definition at line 61 of file AArch64Subtarget.h.

Referenced by hasCRC().

bool llvm::AArch64Subtarget::HasCrypto = false
protected

Definition at line 60 of file AArch64Subtarget.h.

Referenced by hasCrypto().

bool llvm::AArch64Subtarget::HasFPARMv8 = false
protected

Definition at line 58 of file AArch64Subtarget.h.

Referenced by hasFPARMv8().

bool llvm::AArch64Subtarget::HasFullFP16 = false
protected

Definition at line 65 of file AArch64Subtarget.h.

Referenced by hasFullFP16().

bool llvm::AArch64Subtarget::HasLSE = false
protected

Definition at line 62 of file AArch64Subtarget.h.

Referenced by hasLSE().

bool llvm::AArch64Subtarget::HasNEON = false
protected

Definition at line 59 of file AArch64Subtarget.h.

Referenced by hasNEON().

bool llvm::AArch64Subtarget::HasPerfMon = false
protected

Definition at line 64 of file AArch64Subtarget.h.

Referenced by hasPerfMon().

bool llvm::AArch64Subtarget::HasRAS = false
protected

Definition at line 63 of file AArch64Subtarget.h.

Referenced by hasRAS().

bool llvm::AArch64Subtarget::HasSPE = false
protected

Definition at line 66 of file AArch64Subtarget.h.

Referenced by hasSPE().

bool llvm::AArch64Subtarget::HasV8_1aOps = false
protected

Definition at line 55 of file AArch64Subtarget.h.

Referenced by hasV8_1aOps().

bool llvm::AArch64Subtarget::HasV8_2aOps = false
protected

Definition at line 56 of file AArch64Subtarget.h.

Referenced by hasV8_2aOps().

bool llvm::AArch64Subtarget::HasZeroCycleRegMove = false
protected

Definition at line 69 of file AArch64Subtarget.h.

Referenced by hasZeroCycleRegMove().

bool llvm::AArch64Subtarget::HasZeroCycleZeroing = false
protected

Definition at line 72 of file AArch64Subtarget.h.

Referenced by hasZeroCycleZeroing().

AArch64InstrInfo llvm::AArch64Subtarget::InstrInfo
protected

Definition at line 107 of file AArch64Subtarget.h.

Referenced by getInstrInfo().

bool llvm::AArch64Subtarget::IsLittle
protected

Definition at line 101 of file AArch64Subtarget.h.

Referenced by isLittleEndian().

uint8_t llvm::AArch64Subtarget::MaxInterleaveFactor = 2
protected

Definition at line 88 of file AArch64Subtarget.h.

Referenced by getMaxInterleaveFactor().

unsigned llvm::AArch64Subtarget::MaxJumpTableSize = 0
protected

Definition at line 96 of file AArch64Subtarget.h.

Referenced by getMaximumJumpTableSize().

unsigned llvm::AArch64Subtarget::MaxPrefetchIterationsAhead = UINT_MAX
protected

Definition at line 93 of file AArch64Subtarget.h.

Referenced by getMaxPrefetchIterationsAhead().

uint16_t llvm::AArch64Subtarget::MinPrefetchStride = 1
protected

Definition at line 92 of file AArch64Subtarget.h.

Referenced by getMinPrefetchStride().

bool llvm::AArch64Subtarget::Misaligned128StoreIsSlow = false
protected

Definition at line 81 of file AArch64Subtarget.h.

Referenced by isMisaligned128StoreSlow().

bool llvm::AArch64Subtarget::Paired128IsSlow = false
protected

Definition at line 82 of file AArch64Subtarget.h.

Referenced by isPaired128Slow().

bool llvm::AArch64Subtarget::PredictableSelectIsExpensive = false
protected

Definition at line 77 of file AArch64Subtarget.h.

Referenced by predictableSelectIsExpensive().

uint16_t llvm::AArch64Subtarget::PrefetchDistance = 0
protected

Definition at line 91 of file AArch64Subtarget.h.

Referenced by getPrefetchDistance().

unsigned llvm::AArch64Subtarget::PrefFunctionAlignment = 0
protected

Definition at line 94 of file AArch64Subtarget.h.

Referenced by getPrefFunctionAlignment().

unsigned llvm::AArch64Subtarget::PrefLoopAlignment = 0
protected

Definition at line 95 of file AArch64Subtarget.h.

Referenced by getPrefLoopAlignment().

bool llvm::AArch64Subtarget::ReserveX18
protected

Definition at line 99 of file AArch64Subtarget.h.

Referenced by isX18Reserved().

bool llvm::AArch64Subtarget::StrictAlign = false
protected

Definition at line 75 of file AArch64Subtarget.h.

Referenced by requiresStrictAlign().

Triple llvm::AArch64Subtarget::TargetTriple
protected
AArch64TargetLowering llvm::AArch64Subtarget::TLInfo
protected

Definition at line 109 of file AArch64Subtarget.h.

Referenced by getTargetLowering().

AArch64SelectionDAGInfo llvm::AArch64Subtarget::TSInfo
protected

Definition at line 108 of file AArch64Subtarget.h.

Referenced by getSelectionDAGInfo().

bool llvm::AArch64Subtarget::UseAA = false
protected

Definition at line 76 of file AArch64Subtarget.h.

Referenced by useAA().

bool llvm::AArch64Subtarget::UseAlternateSExtLoadCVTF32Pattern = false
protected

Definition at line 83 of file AArch64Subtarget.h.

Referenced by useAlternateSExtLoadCVTF32Pattern().

bool llvm::AArch64Subtarget::UsePostRAScheduler = false
protected

Definition at line 80 of file AArch64Subtarget.h.

Referenced by enablePostRAScheduler().

bool llvm::AArch64Subtarget::UseRSqrt = false
protected

Definition at line 87 of file AArch64Subtarget.h.

Referenced by useRSqrt().

uint8_t llvm::AArch64Subtarget::VectorInsertExtractBaseCost = 3
protected

Definition at line 89 of file AArch64Subtarget.h.

Referenced by getVectorInsertExtractBaseCost().


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