LLVM API Documentation
#include <ARMSubtarget.h>
Public Types | |
| enum | { isELF, isDarwin } |
| enum | { ARM_ABI_APCS, ARM_ABI_AAPCS } |
Public Member Functions | |
| ARMSubtarget (const Module &M, const std::string &FS, bool thumb) | |
| unsigned | getMaxInlineSizeThreshold () const |
| void | ParseSubtargetFeatures (const std::string &FS, const std::string &CPU) |
| bool | hasV4TOps () const |
| bool | hasV5TOps () const |
| bool | hasV5TEOps () const |
| bool | hasV6Ops () const |
| bool | hasVFP2 () const |
| bool | isTargetDarwin () const |
| bool | isTargetELF () const |
| bool | isAPCS_ABI () const |
| bool | isAAPCS_ABI () const |
| bool | isThumb () const |
| bool | useThumbBacktraces () const |
| bool | isR9Reserved () const |
| unsigned | getStackAlignment () const |
Public Attributes | |
| enum llvm::ARMSubtarget:: { ... } | TargetType |
| enum llvm::ARMSubtarget:: { ... } | TargetABI |
Protected Types | |
| enum | ARMArchEnum { V4T, V5T, V5TE, V6 } |
Protected Attributes | |
| ARMArchEnum | ARMArchVersion |
| bool | HasVFP2 |
| bool | IsThumb |
| IsThumb - True if we are in thumb mode, false if in ARM mode. | |
| bool | UseThumbBacktraces |
| UseThumbBacktraces - True if we use thumb style backtraces. | |
| bool | IsR9Reserved |
| IsR9Reserved - True if R9 is a not available as general purpose register. | |
| unsigned | stackAlignment |
Definition at line 23 of file ARMSubtarget.h.
enum llvm::ARMSubtarget::ARMArchEnum [protected] |
| anonymous enum |
| anonymous enum |
| ARMSubtarget::ARMSubtarget | ( | const Module & | M, | |
| const std::string & | FS, | |||
| bool | thumb | |||
| ) |
This constructor initializes the data members to match that of the specified module.
Definition at line 19 of file ARMSubtarget.cpp.
References ARM_ABI_AAPCS, llvm::Module::getTargetTriple(), isAAPCS_ABI(), isDarwin, IsR9Reserved, isTargetDarwin(), ParseSubtargetFeatures(), stackAlignment, TargetABI, TargetType, and UseThumbBacktraces.
| unsigned llvm::ARMSubtarget::getMaxInlineSizeThreshold | ( | ) | const [inline] |
getMaxInlineSizeThreshold - Returns the maximum memset / memcpy size that still makes it profitable to inline the call.
Definition at line 67 of file ARMSubtarget.h.
References isThumb().
| void llvm::ARMSubtarget::ParseSubtargetFeatures | ( | const std::string & | FS, | |
| const std::string & | CPU | |||
| ) |
ParseSubtargetFeatures - Parses features string setting specified subtarget options. Definition of function is auto generated by tblgen.
Referenced by ARMSubtarget().
| bool llvm::ARMSubtarget::hasV4TOps | ( | ) | const [inline] |
| bool llvm::ARMSubtarget::hasV5TOps | ( | ) | const [inline] |
Definition at line 77 of file ARMSubtarget.h.
References ARMArchVersion, and V5T.
Referenced by llvm::ARMTargetLowering::ARMTargetLowering().
| bool llvm::ARMSubtarget::hasV5TEOps | ( | ) | const [inline] |
| bool llvm::ARMSubtarget::hasV6Ops | ( | ) | const [inline] |
Definition at line 79 of file ARMSubtarget.h.
References ARMArchVersion, and V6.
Referenced by llvm::ARMTargetLowering::ARMTargetLowering().
| bool llvm::ARMSubtarget::hasVFP2 | ( | ) | const [inline] |
Definition at line 81 of file ARMSubtarget.h.
References HasVFP2.
Referenced by llvm::ARMTargetLowering::ARMTargetLowering(), and isLegalAddressImmediate().
| bool llvm::ARMSubtarget::isTargetDarwin | ( | ) | const [inline] |
Definition at line 83 of file ARMSubtarget.h.
References isDarwin, and TargetType.
Referenced by ARMSubtarget(), llvm::ARMTargetLowering::ARMTargetLowering(), llvm::ARMRegisterInfo::emitEpilogue(), llvm::ARMRegisterInfo::emitPrologue(), llvm::X86ATTAsmPrinter::getAnalysisUsage(), llvm::ARMRegisterInfo::getCalleeSavedRegs(), llvm::ARMRegisterInfo::getFrameRegister(), llvm::ARMTargetAsmInfo< BaseTAI >::getInlineAsmLength(), llvm::ARMRegisterInfo::getReservedRegs(), llvm::ARMRegisterInfo::isReservedReg(), llvm::ARMTargetLowering::LowerOperation(), movePastCSLoadStoreOps(), and llvm::ARMRegisterInfo::processFunctionBeforeCalleeSavedScan().
| bool llvm::ARMSubtarget::isTargetELF | ( | ) | const [inline] |
Definition at line 84 of file ARMSubtarget.h.
References isELF, and TargetType.
Referenced by llvm::ARMRegisterInfo::emitPrologue(), and llvm::X86ATTAsmPrinter::getAnalysisUsage().
| bool llvm::ARMSubtarget::isAPCS_ABI | ( | ) | const [inline] |
| bool llvm::ARMSubtarget::isAAPCS_ABI | ( | ) | const [inline] |
Definition at line 87 of file ARMSubtarget.h.
References ARM_ABI_AAPCS, and TargetABI.
Referenced by llvm::ARMELFTargetAsmInfo::ARMELFTargetAsmInfo(), and ARMSubtarget().
| bool llvm::ARMSubtarget::isThumb | ( | ) | const [inline] |
Definition at line 89 of file ARMSubtarget.h.
References IsThumb.
Referenced by llvm::ARMTargetMachine::addPreEmitPass(), llvm::ARMTargetLowering::ARMTargetLowering(), ExpandSRx(), llvm::ARMRegisterInfo::getFrameRegister(), llvm::ARMTargetAsmInfo< BaseTAI >::getInlineAsmLength(), getMaxInlineSizeThreshold(), llvm::ARMTargetLowering::getPostIndexedAddressParts(), llvm::ARMTargetLowering::getPreIndexedAddressParts(), isLegalAddressImmediate(), llvm::ARMTargetLowering::isLegalAddressingMode(), LowerBR_CC(), and LowerSELECT_CC().
| bool llvm::ARMSubtarget::useThumbBacktraces | ( | ) | const [inline] |
Definition at line 91 of file ARMSubtarget.h.
References UseThumbBacktraces.
Referenced by llvm::ARMRegisterInfo::getFrameRegister().
| bool llvm::ARMSubtarget::isR9Reserved | ( | ) | const [inline] |
Definition at line 92 of file ARMSubtarget.h.
References IsR9Reserved.
Referenced by llvm::ARMRegisterInfo::getReservedRegs(), and llvm::ARMRegisterInfo::isReservedReg().
| unsigned llvm::ARMSubtarget::getStackAlignment | ( | ) | const [inline] |
getStackAlignment - Returns the minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function for this subtarget.
Definition at line 97 of file ARMSubtarget.h.
References stackAlignment.
ARMArchEnum llvm::ARMSubtarget::ARMArchVersion [protected] |
ARMArchVersion - ARM architecture vecrsion: V4T (base), V5T, V5TE, and V6.
Definition at line 31 of file ARMSubtarget.h.
Referenced by hasV4TOps(), hasV5TEOps(), hasV5TOps(), and hasV6Ops().
bool llvm::ARMSubtarget::HasVFP2 [protected] |
HasVFP2 - True if the processor supports Vector Floating Point (VFP) V2 instructions.
Definition at line 35 of file ARMSubtarget.h.
Referenced by hasVFP2().
bool llvm::ARMSubtarget::IsThumb [protected] |
IsThumb - True if we are in thumb mode, false if in ARM mode.
Definition at line 38 of file ARMSubtarget.h.
Referenced by isThumb().
bool llvm::ARMSubtarget::UseThumbBacktraces [protected] |
UseThumbBacktraces - True if we use thumb style backtraces.
Definition at line 41 of file ARMSubtarget.h.
Referenced by ARMSubtarget(), and useThumbBacktraces().
bool llvm::ARMSubtarget::IsR9Reserved [protected] |
IsR9Reserved - True if R9 is a not available as general purpose register.
Definition at line 44 of file ARMSubtarget.h.
Referenced by ARMSubtarget(), and isR9Reserved().
unsigned llvm::ARMSubtarget::stackAlignment [protected] |
stackAlignment - The minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function.
Definition at line 48 of file ARMSubtarget.h.
Referenced by ARMSubtarget(), and getStackAlignment().
| enum { ... } llvm::ARMSubtarget::TargetType |
Referenced by ARMSubtarget(), llvm::ARMTargetMachine::createTargetAsmInfo(), isTargetDarwin(), and isTargetELF().
| enum { ... } llvm::ARMSubtarget::TargetABI |
Referenced by ARMSubtarget(), isAAPCS_ABI(), and isAPCS_ABI().