LLVM API Documentation

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

#include <ARMSubtarget.h>

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

List of all members.

Public Types

enum  { isELF, isDarwin }
enum  { ARM_ABI_APCS, ARM_ABI_AAPCS }

Public Member Functions

 ARMSubtarget (const std::string &TT, const std::string &CPU, const std::string &FS, const TargetOptions &Options)
unsigned getMaxInlineSizeThreshold () const
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
virtual void resetSubtargetFeatures (const MachineFunction *MF)
 Reset the features for the ARM target.
void computeIssueWidth ()
bool hasV4TOps () const
bool hasV5TOps () const
bool hasV5TEOps () const
bool hasV6Ops () const
bool hasV6T2Ops () const
bool hasV7Ops () const
bool isCortexA5 () const
bool isCortexA8 () const
bool isCortexA9 () const
bool isCortexA15 () const
bool isSwift () const
bool isCortexM3 () const
bool isLikeA9 () const
bool isCortexR5 () const
bool hasARMOps () const
bool hasVFP2 () const
bool hasVFP3 () const
bool hasVFP4 () const
bool hasNEON () const
bool useNEONForSinglePrecisionFP () const
bool hasDivide () const
bool hasDivideInARMMode () const
bool hasT2ExtractPack () const
bool hasDataBarrier () const
bool useMulOps () const
bool useFPVMLx () const
bool hasVMLxForwarding () const
bool isFPBrccSlow () const
bool isFPOnlySP () const
bool hasTrustZone () const
bool prefers32BitThumb () const
bool avoidCPSRPartialUpdate () const
bool avoidMOVsShifterOperand () const
bool hasRAS () const
bool hasMPExtension () const
bool hasThumb2DSP () const
bool useNaClTrap () const
bool hasFP16 () const
bool hasD16 () const
const TriplegetTargetTriple () const
bool isTargetIOS () const
bool isTargetDarwin () const
bool isTargetNaCl () const
bool isTargetLinux () const
bool isTargetELF () const
bool isAPCS_ABI () const
bool isAAPCS_ABI () const
bool isThumb () const
bool isThumb1Only () const
bool isThumb2 () const
bool hasThumb2 () const
bool isMClass () const
bool isARClass () const
bool isR9Reserved () const
bool useMovt () const
bool supportsTailCall () const
bool allowsUnalignedMem () const
const std::string & getCPUString () const
unsigned getMispredictionPenalty () const
bool enablePostRAScheduler (CodeGenOpt::Level OptLevel, TargetSubtargetInfo::AntiDepBreakMode &Mode, RegClassVector &CriticalPathRCs) const
 enablePostRAScheduler - True at 'More' optimization.
const InstrItineraryDatagetInstrItineraryData () const
unsigned getStackAlignment () const
bool GVIsIndirectSymbol (const GlobalValue *GV, Reloc::Model RelocM) const

Public Attributes

enum llvm::ARMSubtarget:: { ... }  TargetType
enum llvm::ARMSubtarget:: { ... }  TargetABI

Protected Types

enum  ARMProcFamilyEnum {
  Others, CortexA5, CortexA8, CortexA9,
  CortexA15, CortexR5, Swift
}

Protected Attributes

ARMProcFamilyEnum ARMProcFamily
 ARMProcFamily - ARM processor family: Cortex-A8, Cortex-A9, and others.
bool HasV4TOps
bool HasV5TOps
bool HasV5TEOps
bool HasV6Ops
bool HasV6T2Ops
bool HasV7Ops
bool HasVFPv2
bool HasVFPv3
bool HasVFPv4
bool HasNEON
bool UseNEONForSinglePrecisionFP
bool UseMulOps
bool SlowFPVMLx
bool HasVMLxForwarding
bool SlowFPBrcc
 SlowFPBrcc - True if floating point compare + branch is slow.
bool InThumbMode
 InThumbMode - True if compiling for Thumb, false for ARM.
bool HasThumb2
 HasThumb2 - True if Thumb2 instructions are supported.
bool IsMClass
bool NoARM
 NoARM - True if subtarget does not support ARM mode execution.
bool PostRAScheduler
 PostRAScheduler - True if using post-register-allocation scheduler.
bool IsR9Reserved
 IsR9Reserved - True if R9 is a not available as general purpose register.
bool UseMovt
bool SupportsTailCall
bool HasFP16
bool HasD16
bool HasHardwareDivide
 HasHardwareDivide - True if subtarget supports [su]div.
bool HasHardwareDivideInARM
 HasHardwareDivideInARM - True if subtarget supports [su]div in ARM mode.
bool HasT2ExtractPack
bool HasDataBarrier
bool Pref32BitThumb
bool AvoidCPSRPartialUpdate
bool AvoidMOVsShifterOperand
bool HasRAS
bool HasMPExtension
bool FPOnlySP
bool HasTrustZone
 HasTrustZone - if true, processor supports TrustZone security extensions.
bool AllowsUnalignedMem
bool Thumb2DSP
bool UseNaClTrap
 NaCl TRAP instruction is generated instead of the regular TRAP.
bool UnsafeFPMath
 Target machine allowed unsafe FP math (such as use of NEON fp)
unsigned stackAlignment
std::string CPUString
 CPUString - String name of used CPU.
Triple TargetTriple
 TargetTriple - What processor and OS we're targeting.
const MCSchedModelSchedModel
 SchedModel - Processor specific instruction costs.
InstrItineraryData InstrItins
 Selected instruction itineraries (one entry per itinerary class.)
const TargetOptionsOptions
 Options passed via command line that could influence the target.

Detailed Description

Definition at line 31 of file ARMSubtarget.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
isELF 
isDarwin 

Definition at line 189 of file ARMSubtarget.h.

anonymous enum
Enumerator:
ARM_ABI_APCS 
ARM_ABI_AAPCS 

Definition at line 193 of file ARMSubtarget.h.

Enumerator:
Others 
CortexA5 
CortexA8 
CortexA9 
CortexA15 
CortexR5 
Swift 

Definition at line 33 of file ARMSubtarget.h.


Constructor & Destructor Documentation

ARMSubtarget::ARMSubtarget ( const std::string &  TT,
const std::string &  CPU,
const std::string &  FS,
const TargetOptions Options 
)

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

Definition at line 60 of file ARMSubtarget.cpp.

References resetSubtargetFeatures().


Member Function Documentation

bool llvm::ARMSubtarget::allowsUnalignedMem ( ) const [inline]
bool llvm::ARMSubtarget::avoidCPSRPartialUpdate ( ) const [inline]

Definition at line 259 of file ARMSubtarget.h.

References AvoidCPSRPartialUpdate.

bool llvm::ARMSubtarget::avoidMOVsShifterOperand ( ) const [inline]

Definition at line 260 of file ARMSubtarget.h.

References AvoidMOVsShifterOperand.

void llvm::ARMSubtarget::computeIssueWidth ( )
bool ARMSubtarget::enablePostRAScheduler ( CodeGenOpt::Level  OptLevel,
TargetSubtargetInfo::AntiDepBreakMode Mode,
RegClassVector &  CriticalPathRCs 
) const

enablePostRAScheduler - True at 'More' optimization.

Definition at line 271 of file ARMSubtarget.cpp.

References llvm::TargetSubtargetInfo::ANTIDEP_CRITICAL, llvm::Reloc::Default, and PostRAScheduler.

const std::string& llvm::ARMSubtarget::getCPUString ( ) const [inline]

Definition at line 294 of file ARMSubtarget.h.

References CPUString.

Referenced by llvm::ARMTargetMachine::ARMTargetMachine().

const InstrItineraryData& llvm::ARMSubtarget::getInstrItineraryData ( ) const [inline]

getInstrItins - Return the instruction itineraies based on subtarget selection.

Definition at line 305 of file ARMSubtarget.h.

References InstrItins.

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 206 of file ARMSubtarget.h.

References isThumb1Only().

Referenced by llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy().

unsigned ARMSubtarget::getMispredictionPenalty ( ) const
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 310 of file ARMSubtarget.h.

References stackAlignment.

const Triple& llvm::ARMSubtarget::getTargetTriple ( ) const [inline]

Definition at line 269 of file ARMSubtarget.h.

References TargetTriple.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool ARMSubtarget::GVIsIndirectSymbol ( const GlobalValue GV,
Reloc::Model  RelocM 
) const
bool llvm::ARMSubtarget::hasARMOps ( ) const [inline]

Definition at line 239 of file ARMSubtarget.h.

References NoARM.

Referenced by llvm::ARMTargetMachine::ARMTargetMachine().

bool llvm::ARMSubtarget::hasD16 ( ) const [inline]

Definition at line 267 of file ARMSubtarget.h.

References HasD16.

Referenced by llvm::ARMBaseRegisterInfo::getReservedRegs().

bool llvm::ARMSubtarget::hasDataBarrier ( ) const [inline]

Definition at line 251 of file ARMSubtarget.h.

References HasDataBarrier.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering(), and LowerATOMIC_FENCE().

bool llvm::ARMSubtarget::hasDivide ( ) const [inline]

Definition at line 248 of file ARMSubtarget.h.

References HasHardwareDivide.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::hasDivideInARMMode ( ) const [inline]

Definition at line 249 of file ARMSubtarget.h.

References HasHardwareDivideInARM.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::hasFP16 ( ) const [inline]

Definition at line 266 of file ARMSubtarget.h.

References HasFP16.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::hasMPExtension ( ) const [inline]

Definition at line 262 of file ARMSubtarget.h.

References HasMPExtension.

Referenced by LowerPREFETCH().

bool llvm::ARMSubtarget::hasNEON ( ) const [inline]
bool llvm::ARMSubtarget::hasRAS ( ) const [inline]

Definition at line 261 of file ARMSubtarget.h.

References HasRAS.

bool llvm::ARMSubtarget::hasT2ExtractPack ( ) const [inline]

Definition at line 250 of file ARMSubtarget.h.

References HasT2ExtractPack.

Referenced by PerformORCombine().

bool llvm::ARMSubtarget::hasThumb2 ( ) const [inline]

Definition at line 283 of file ARMSubtarget.h.

References HasThumb2.

bool llvm::ARMSubtarget::hasThumb2DSP ( ) const [inline]

Definition at line 263 of file ARMSubtarget.h.

References Thumb2DSP.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::hasTrustZone ( ) const [inline]

Definition at line 257 of file ARMSubtarget.h.

References HasTrustZone.

bool llvm::ARMSubtarget::hasV4TOps ( ) const [inline]

Definition at line 223 of file ARMSubtarget.h.

References HasV4TOps.

bool llvm::ARMSubtarget::hasV5TEOps ( ) const [inline]
bool llvm::ARMSubtarget::hasV5TOps ( ) const [inline]

Definition at line 224 of file ARMSubtarget.h.

References HasV5TOps.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::hasV6Ops ( ) const [inline]
bool llvm::ARMSubtarget::hasV6T2Ops ( ) const [inline]
bool llvm::ARMSubtarget::hasV7Ops ( ) const [inline]

Definition at line 228 of file ARMSubtarget.h.

References HasV7Ops.

Referenced by llvm::ARMTargetLowering::allowsUnalignedMemoryAccesses(), and LowerPREFETCH().

bool llvm::ARMSubtarget::hasVFP2 ( ) const [inline]
bool llvm::ARMSubtarget::hasVFP3 ( ) const [inline]
bool llvm::ARMSubtarget::hasVFP4 ( ) const [inline]

Definition at line 243 of file ARMSubtarget.h.

References HasVFPv4.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::hasVMLxForwarding ( ) const [inline]

Definition at line 254 of file ARMSubtarget.h.

References HasVMLxForwarding.

Referenced by PerformVMULCombine().

bool llvm::ARMSubtarget::isAAPCS_ABI ( ) const [inline]
bool llvm::ARMSubtarget::isAPCS_ABI ( ) const [inline]

Definition at line 277 of file ARMSubtarget.h.

References ARM_ABI_APCS, and TargetABI.

bool llvm::ARMSubtarget::isARClass ( ) const [inline]

Definition at line 285 of file ARMSubtarget.h.

References IsMClass.

bool llvm::ARMSubtarget::isCortexA15 ( ) const [inline]
bool llvm::ARMSubtarget::isCortexA5 ( ) const [inline]

Definition at line 230 of file ARMSubtarget.h.

References ARMProcFamily, and CortexA5.

bool llvm::ARMSubtarget::isCortexA8 ( ) const [inline]
bool llvm::ARMSubtarget::isCortexA9 ( ) const [inline]

Definition at line 232 of file ARMSubtarget.h.

References ARMProcFamily, and CortexA9.

Referenced by llvm::ARMBaseInstrInfo::getExecutionDomain(), and isLikeA9().

bool llvm::ARMSubtarget::isCortexM3 ( ) const [inline]

Definition at line 235 of file ARMSubtarget.h.

References CPUString.

bool llvm::ARMSubtarget::isCortexR5 ( ) const [inline]

Definition at line 237 of file ARMSubtarget.h.

References ARMProcFamily, and CortexR5.

bool llvm::ARMSubtarget::isFPBrccSlow ( ) const [inline]

Definition at line 255 of file ARMSubtarget.h.

References SlowFPBrcc.

Referenced by canChangeToInt().

bool llvm::ARMSubtarget::isFPOnlySP ( ) const [inline]

Definition at line 256 of file ARMSubtarget.h.

References FPOnlySP.

Referenced by llvm::ARMTargetLowering::ARMTargetLowering().

bool llvm::ARMSubtarget::isLikeA9 ( ) const [inline]
bool llvm::ARMSubtarget::isMClass ( ) const [inline]

Definition at line 284 of file ARMSubtarget.h.

References IsMClass.

bool llvm::ARMSubtarget::isR9Reserved ( ) const [inline]
bool llvm::ARMSubtarget::isSwift ( ) const [inline]
bool llvm::ARMSubtarget::isTargetDarwin ( ) const [inline]
bool llvm::ARMSubtarget::isTargetELF ( ) const [inline]
bool llvm::ARMSubtarget::isTargetIOS ( ) const [inline]
bool llvm::ARMSubtarget::isTargetLinux ( ) const [inline]

Definition at line 274 of file ARMSubtarget.h.

References llvm::Triple::getOS(), llvm::Triple::Linux, and TargetTriple.

bool llvm::ARMSubtarget::isTargetNaCl ( ) const [inline]

Definition at line 273 of file ARMSubtarget.h.

References llvm::Triple::getOS(), llvm::Triple::NaCl, and TargetTriple.

bool llvm::ARMSubtarget::isThumb ( ) const [inline]
bool llvm::ARMSubtarget::isThumb1Only ( ) const [inline]
bool llvm::ARMSubtarget::isThumb2 ( ) const [inline]
void llvm::ARMSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)

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

bool llvm::ARMSubtarget::prefers32BitThumb ( ) const [inline]

Definition at line 258 of file ARMSubtarget.h.

References Pref32BitThumb.

void ARMSubtarget::resetSubtargetFeatures ( const MachineFunction MF) [virtual]
bool llvm::ARMSubtarget::supportsTailCall ( ) const [inline]

Definition at line 290 of file ARMSubtarget.h.

References SupportsTailCall.

bool llvm::ARMSubtarget::useFPVMLx ( ) const [inline]

Definition at line 253 of file ARMSubtarget.h.

References SlowFPVMLx.

bool llvm::ARMSubtarget::useMovt ( ) const [inline]

Definition at line 289 of file ARMSubtarget.h.

References hasV6T2Ops(), and UseMovt.

bool llvm::ARMSubtarget::useMulOps ( ) const [inline]

Definition at line 252 of file ARMSubtarget.h.

References UseMulOps.

bool llvm::ARMSubtarget::useNaClTrap ( ) const [inline]

Definition at line 264 of file ARMSubtarget.h.

References UseNaClTrap.

bool llvm::ARMSubtarget::useNEONForSinglePrecisionFP ( ) const [inline]

Member Data Documentation

AllowsUnalignedMem - If true, the subtarget allows unaligned memory accesses for some types. For details, see ARMTargetLowering::allowsUnalignedMemoryAccesses().

Definition at line 157 of file ARMSubtarget.h.

Referenced by allowsUnalignedMem().

ARMProcFamily - ARM processor family: Cortex-A8, Cortex-A9, and others.

Definition at line 38 of file ARMSubtarget.h.

Referenced by isCortexA15(), isCortexA5(), isCortexA8(), isCortexA9(), isCortexR5(), and isSwift().

AvoidCPSRPartialUpdate - If true, codegen would avoid using instructions that partially update CPSR and add false dependency on the previous CPSR setting instruction.

Definition at line 133 of file ARMSubtarget.h.

Referenced by avoidCPSRPartialUpdate().

AvoidMOVsShifterOperand - If true, codegen should avoid using flag setting movs with shifter operand (i.e. asr, lsl, lsr).

Definition at line 137 of file ARMSubtarget.h.

Referenced by avoidMOVsShifterOperand().

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

CPUString - String name of used CPU.

Definition at line 174 of file ARMSubtarget.h.

Referenced by getCPUString(), and isCortexM3().

FPOnlySP - If true, the floating point unit only supports single precision.

Definition at line 149 of file ARMSubtarget.h.

Referenced by isFPOnlySP().

HasD16 - True if subtarget is limited to 16 double precision FP registers for VFPv3.

Definition at line 110 of file ARMSubtarget.h.

Referenced by hasD16().

HasDataBarrier - True if the subtarget supports DMB / DSB data barrier instructions.

Definition at line 124 of file ARMSubtarget.h.

Referenced by hasDataBarrier().

HasFP16 - True if subtarget supports half-precision FP (We support VFP+HF only so far)

Definition at line 106 of file ARMSubtarget.h.

Referenced by hasFP16().

HasHardwareDivide - True if subtarget supports [su]div.

Definition at line 113 of file ARMSubtarget.h.

Referenced by hasDivide().

HasHardwareDivideInARM - True if subtarget supports [su]div in ARM mode.

Definition at line 116 of file ARMSubtarget.h.

Referenced by hasDivideInARMMode().

HasMPExtension - True if the subtarget supports Multiprocessing extension (ARMv7 only).

Definition at line 145 of file ARMSubtarget.h.

Referenced by hasMPExtension().

Definition at line 54 of file ARMSubtarget.h.

Referenced by hasNEON().

HasRAS - Some processors perform return stack prediction. CodeGen should avoid issue "normal" call instructions to callees which do not return.

Definition at line 141 of file ARMSubtarget.h.

Referenced by hasRAS().

HasT2ExtractPack - True if subtarget supports thumb2 extract/pack instructions.

Definition at line 120 of file ARMSubtarget.h.

Referenced by hasT2ExtractPack().

HasThumb2 - True if Thumb2 instructions are supported.

Definition at line 80 of file ARMSubtarget.h.

Referenced by hasThumb2(), isThumb1Only(), and isThumb2().

HasTrustZone - if true, processor supports TrustZone security extensions.

Definition at line 152 of file ARMSubtarget.h.

Referenced by hasTrustZone().

HasV4TOps, HasV5TOps, HasV5TEOps, HasV6Ops, HasV6T2Ops, HasV7Ops - Specify whether target support specific ARM ISA variants.

Definition at line 42 of file ARMSubtarget.h.

Referenced by hasV4TOps().

Definition at line 44 of file ARMSubtarget.h.

Referenced by hasV5TEOps().

Definition at line 43 of file ARMSubtarget.h.

Referenced by hasV5TOps().

Definition at line 45 of file ARMSubtarget.h.

Referenced by hasV6Ops().

Definition at line 46 of file ARMSubtarget.h.

Referenced by hasV6T2Ops().

Definition at line 47 of file ARMSubtarget.h.

Referenced by hasV7Ops().

HasVFPv2, HasVFPv3, HasVFPv4, HasNEON - Specify what floating point ISAs are supported.

Definition at line 51 of file ARMSubtarget.h.

Referenced by hasVFP2().

Definition at line 52 of file ARMSubtarget.h.

Referenced by hasVFP3().

Definition at line 53 of file ARMSubtarget.h.

Referenced by hasVFP4().

HasVMLxForwarding - If true, NEON has special multiplier accumulator forwarding to allow mul + mla being issued back to back.

Definition at line 71 of file ARMSubtarget.h.

Referenced by hasVMLxForwarding().

Selected instruction itineraries (one entry per itinerary class.)

Definition at line 183 of file ARMSubtarget.h.

Referenced by getInstrItineraryData().

InThumbMode - True if compiling for Thumb, false for ARM.

Definition at line 77 of file ARMSubtarget.h.

Referenced by isThumb(), isThumb1Only(), and isThumb2().

IsMClass - True if the subtarget belongs to the 'M' profile of CPUs - v6m, v7m for example.

Definition at line 84 of file ARMSubtarget.h.

Referenced by isARClass(), and isMClass().

IsR9Reserved - True if R9 is a not available as general purpose register.

Definition at line 93 of file ARMSubtarget.h.

Referenced by isR9Reserved().

NoARM - True if subtarget does not support ARM mode execution.

Definition at line 87 of file ARMSubtarget.h.

Referenced by hasARMOps().

Options passed via command line that could influence the target.

Definition at line 186 of file ARMSubtarget.h.

PostRAScheduler - True if using post-register-allocation scheduler.

Definition at line 90 of file ARMSubtarget.h.

Referenced by enablePostRAScheduler().

Pref32BitThumb - If true, codegen would prefer 32-bit Thumb instructions over 16-bit ones.

Definition at line 128 of file ARMSubtarget.h.

Referenced by prefers32BitThumb().

SchedModel - Processor specific instruction costs.

Definition at line 180 of file ARMSubtarget.h.

Referenced by getMispredictionPenalty().

SlowFPBrcc - True if floating point compare + branch is slow.

Definition at line 74 of file ARMSubtarget.h.

Referenced by isFPBrccSlow().

SlowFPVMLx - If the VFP2 / NEON instructions are available, indicates whether the FP VML[AS] instructions are slow (if so, don't use them).

Definition at line 67 of file ARMSubtarget.h.

Referenced by useFPVMLx().

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 171 of file ARMSubtarget.h.

Referenced by getStackAlignment().

SupportsTailCall - True if the OS supports tail call. The dynamic linker must be able to synthesize call stubs for interworking between ARM and Thumb.

Definition at line 102 of file ARMSubtarget.h.

Referenced by supportsTailCall().

Referenced by isAAPCS_ABI(), and isAPCS_ABI().

TargetTriple - What processor and OS we're targeting.

Definition at line 177 of file ARMSubtarget.h.

Referenced by getTargetTriple(), isTargetDarwin(), isTargetIOS(), isTargetLinux(), and isTargetNaCl().

Thumb2DSP - If true, the subtarget supports the v7 DSP (saturating arith and such) instructions in Thumb2 code.

Definition at line 161 of file ARMSubtarget.h.

Referenced by hasThumb2DSP().

Target machine allowed unsafe FP math (such as use of NEON fp)

Definition at line 167 of file ARMSubtarget.h.

UseMovt - True if MOVT / MOVW pairs are used for materialization of 32-bit imms (including global addresses).

Definition at line 97 of file ARMSubtarget.h.

Referenced by useMovt().

UseMulOps - True if non-microcoded fused integer multiply-add and multiply-subtract instructions should be used.

Definition at line 63 of file ARMSubtarget.h.

Referenced by useMulOps().

NaCl TRAP instruction is generated instead of the regular TRAP.

Definition at line 164 of file ARMSubtarget.h.

Referenced by useNaClTrap().

UseNEONForSinglePrecisionFP - if the NEONFP attribute has been specified. Use the method useNEONForSinglePrecisionFP() to determine if NEON should actually be used.

Definition at line 59 of file ARMSubtarget.h.

Referenced by useNEONForSinglePrecisionFP().


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