LLVM API Documentation

Public Member Functions | Protected Types | Protected Attributes
llvm::AArch64Subtarget Class Reference

#include <AArch64Subtarget.h>

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

List of all members.

Public Member Functions

 AArch64Subtarget (const std::string &TT, const std::string &CPU, const std::string &FS, TargetMachine &TM, bool LittleEndian)
const AArch64SelectionDAGInfogetSelectionDAGInfo () const override
const AArch64FrameLoweringgetFrameLowering () const override
const AArch64TargetLoweringgetTargetLowering () const override
const AArch64InstrInfogetInstrInfo () const override
const DataLayoutgetDataLayout () const override
const AArch64RegisterInfogetRegisterInfo () const override
bool enableMachineScheduler () const override
bool enablePostMachineScheduler () const override
bool hasZeroCycleRegMove () const
bool hasZeroCycleZeroing () const
bool hasFPARMv8 () const
bool hasNEON () const
bool hasCrypto () const
bool hasCRC () const
bool isLittleEndian () const
bool isTargetDarwin () const
bool isTargetIOS () const
bool isTargetLinux () const
bool isTargetWindows () const
bool isTargetCOFF () const
bool isTargetELF () const
bool isTargetMachO () const
bool isCyclone () const
bool isCortexA57 () const
bool isCortexA53 () const
bool useAA () const override
unsigned getMaxInlineSizeThreshold () const
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
unsigned char ClassifyGlobalReference (const GlobalValue *GV, const TargetMachine &TM) const
const char * getBZeroEntry () const
void overrideSchedPolicy (MachineSchedPolicy &Policy, MachineInstr *begin, MachineInstr *end, unsigned NumRegionInstrs) const override
bool enableEarlyIfConversion () const override

Protected Types

enum  ARMProcFamilyEnum { Others, CortexA53, CortexA57, Cyclone }

Protected Attributes

ARMProcFamilyEnum ARMProcFamily
 ARMProcFamily - ARM processor family: Cortex-A53, Cortex-A57, and others.
bool HasFPARMv8
bool HasNEON
bool HasCrypto
bool HasCRC
bool HasZeroCycleRegMove
bool HasZeroCycleZeroing
std::string CPUString
 CPUString - String name of used CPU.
Triple TargetTriple
 TargetTriple - What processor and OS we're targeting.
const DataLayout DL
AArch64FrameLowering FrameLowering
AArch64InstrInfo InstrInfo
AArch64SelectionDAGInfo TSInfo
AArch64TargetLowering TLInfo

Detailed Description

Definition at line 33 of file AArch64Subtarget.h.


Member Enumeration Documentation

Enumerator:
Others 
CortexA53 
CortexA57 
Cyclone 

Definition at line 35 of file AArch64Subtarget.h.


Constructor & Destructor Documentation

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

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

Definition at line 44 of file AArch64Subtarget.cpp.


Member Function Documentation

Definition at line 133 of file AArch64Subtarget.cpp.

References EnableEarlyIfConvert.

Definition at line 88 of file AArch64Subtarget.h.

Definition at line 89 of file AArch64Subtarget.h.

References isCortexA53(), and isCortexA57().

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 116 of file AArch64Subtarget.cpp.

References isTargetDarwin().

Definition at line 84 of file AArch64Subtarget.h.

References DL.

Definition at line 77 of file AArch64Subtarget.h.

References FrameLowering.

Definition at line 83 of file AArch64Subtarget.h.

References InstrInfo.

Referenced by getRegisterInfo().

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

Definition at line 121 of file AArch64Subtarget.h.

Definition at line 85 of file AArch64Subtarget.h.

References getInstrInfo(), and llvm::AArch64InstrInfo::getRegisterInfo().

Definition at line 74 of file AArch64Subtarget.h.

References TSInfo.

Definition at line 80 of file AArch64Subtarget.h.

References TLInfo.

Definition at line 100 of file AArch64Subtarget.h.

References HasCRC.

Definition at line 99 of file AArch64Subtarget.h.

References HasCrypto.

Definition at line 93 of file AArch64Subtarget.h.

References HasZeroCycleRegMove.

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

Definition at line 95 of file AArch64Subtarget.h.

References HasZeroCycleZeroing.

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

Definition at line 113 of file AArch64Subtarget.h.

References CPUString.

Referenced by performSTORECombine().

Definition at line 102 of file AArch64Subtarget.h.

References DL, and llvm::DataLayout::isLittleEndian().

Definition at line 109 of file AArch64Subtarget.h.

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

Definition at line 105 of file AArch64Subtarget.h.

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

Definition at line 106 of file AArch64Subtarget.h.

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

Definition at line 107 of file AArch64Subtarget.h.

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

void AArch64Subtarget::overrideSchedPolicy ( MachineSchedPolicy Policy,
MachineInstr begin,
MachineInstr end,
unsigned  NumRegionInstrs 
) const [override]

ParseSubtargetFeatures - Parses features string setting specified subtarget options. Definition of function is auto generated by tblgen.

bool llvm::AArch64Subtarget::useAA ( ) const [inline, override]

Definition at line 117 of file AArch64Subtarget.h.

References isCortexA53(), and isCortexA57().


Member Data Documentation

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

Definition at line 38 of file AArch64Subtarget.h.

std::string llvm::AArch64Subtarget::CPUString [protected]

CPUString - String name of used CPU.

Definition at line 52 of file AArch64Subtarget.h.

Referenced by isCortexA53(), isCortexA57(), and isCyclone().

Definition at line 57 of file AArch64Subtarget.h.

Referenced by getDataLayout(), and isLittleEndian().

Definition at line 58 of file AArch64Subtarget.h.

Referenced by getFrameLowering().

Definition at line 43 of file AArch64Subtarget.h.

Referenced by hasCRC().

Definition at line 42 of file AArch64Subtarget.h.

Referenced by hasCrypto().

Definition at line 40 of file AArch64Subtarget.h.

Referenced by hasFPARMv8().

Definition at line 41 of file AArch64Subtarget.h.

Referenced by hasNEON().

Definition at line 46 of file AArch64Subtarget.h.

Referenced by hasZeroCycleRegMove().

Definition at line 49 of file AArch64Subtarget.h.

Referenced by hasZeroCycleZeroing().

Definition at line 59 of file AArch64Subtarget.h.

Referenced by getInstrInfo().

TargetTriple - What processor and OS we're targeting.

Definition at line 55 of file AArch64Subtarget.h.

Referenced by isTargetCOFF(), isTargetDarwin(), isTargetELF(), isTargetIOS(), isTargetLinux(), isTargetMachO(), and isTargetWindows().

Definition at line 61 of file AArch64Subtarget.h.

Referenced by getTargetLowering().

Definition at line 60 of file AArch64Subtarget.h.

Referenced by getSelectionDAGInfo().


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