LLVM 20.0.0git
Macros | Variables
AArch64Subtarget.cpp File Reference
#include "AArch64Subtarget.h"
#include "AArch64.h"
#include "AArch64InstrInfo.h"
#include "AArch64PBQPRegAlloc.h"
#include "AArch64TargetMachine.h"
#include "GISel/AArch64CallLowering.h"
#include "GISel/AArch64LegalizerInfo.h"
#include "GISel/AArch64RegisterBankInfo.h"
#include "MCTargetDesc/AArch64AddressingModes.h"
#include "llvm/CodeGen/GlobalISel/InstructionSelect.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineScheduler.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/Support/SipHash.h"
#include "llvm/TargetParser/AArch64TargetParser.h"
#include "AArch64GenSubtargetInfo.inc"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aarch64-subtarget"
 
#define GET_SUBTARGETINFO_CTOR
 
#define GET_SUBTARGETINFO_TARGET_DESC
 

Variables

static cl::opt< boolEnableEarlyIfConvert ("aarch64-early-ifcvt", cl::desc("Enable the early if " "converter pass"), cl::init(true), cl::Hidden)
 
static cl::opt< boolUseAddressTopByteIgnored ("aarch64-use-tbi", cl::desc("Assume that top byte of " "an address is ignored"), cl::init(false), cl::Hidden)
 
static cl::opt< boolMachOUseNonLazyBind ("aarch64-macho-enable-nonlazybind", cl::desc("Call nonlazybind functions via direct GOT load for Mach-O"), cl::Hidden)
 
static cl::opt< boolUseAA ("aarch64-use-aa", cl::init(true), cl::desc("Enable the use of AA during codegen."))
 
static cl::opt< unsignedOverrideVectorInsertExtractBaseCost ("aarch64-insert-extract-base-cost", cl::desc("Base cost of vector insert/extract element"), cl::Hidden)
 
static cl::list< std::string > ReservedRegsForRA ("reserve-regs-for-regalloc", cl::desc("Reserve physical " "registers, so they can't be used by register allocator. " "Should only be used for testing register allocator."), cl::CommaSeparated, cl::Hidden)
 
static cl::opt< AArch64PAuth::AuthCheckMethodAuthenticatedLRCheckMethod ("aarch64-authenticated-lr-check-method", cl::Hidden, cl::desc("Override the variant of check applied " "to authenticated LR during tail call"), cl::values(AUTH_CHECK_METHOD_CL_VALUES_LR))
 
static cl::opt< unsignedAArch64MinimumJumpTableEntries ("aarch64-min-jump-table-entries", cl::init(13), cl::Hidden, cl::desc("Set minimum number of entries to use a jump table on AArch64"))
 
static cl::opt< unsignedAArch64StreamingHazardSize ("aarch64-streaming-hazard-size", cl::desc("Hazard size for streaming mode memory accesses. 0 = disabled."), cl::init(0), cl::Hidden)
 
static cl::alias AArch64StreamingStackHazardSize ("aarch64-stack-hazard-size", cl::desc("alias for -aarch64-streaming-hazard-size"), cl::aliasopt(AArch64StreamingHazardSize))
 
static cl::opt< boolEnableSubregLivenessTracking ("aarch64-enable-subreg-liveness-tracking", cl::init(false), cl::Hidden, cl::desc("Enable subreg liveness tracking"))
 
static cl::opt< boolUseScalarIncVL ("sve-use-scalar-inc-vl", cl::init(false), cl::Hidden, cl::desc("Prefer add+cnt over addvl/inc/dec"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aarch64-subtarget"

Definition at line 32 of file AArch64Subtarget.cpp.

◆ GET_SUBTARGETINFO_CTOR

#define GET_SUBTARGETINFO_CTOR

Definition at line 34 of file AArch64Subtarget.cpp.

◆ GET_SUBTARGETINFO_TARGET_DESC

#define GET_SUBTARGETINFO_TARGET_DESC

Definition at line 35 of file AArch64Subtarget.cpp.

Variable Documentation

◆ AArch64MinimumJumpTableEntries

cl::opt< unsigned > AArch64MinimumJumpTableEntries("aarch64-min-jump-table-entries", cl::init(13), cl::Hidden, cl::desc("Set minimum number of entries to use a jump table on AArch64")) ( "aarch64-min-jump-table-entries"  ,
cl::init(13)  ,
cl::Hidden  ,
cl::desc("Set minimum number of entries to use a jump table on AArch64")   
)
static

◆ AArch64StreamingHazardSize

cl::opt< unsigned > AArch64StreamingHazardSize("aarch64-streaming-hazard-size", cl::desc("Hazard size for streaming mode memory accesses. 0 = disabled."), cl::init(0), cl::Hidden) ( "aarch64-streaming-hazard-size"  ,
cl::desc("Hazard size for streaming mode memory accesses. 0 = disabled.")  ,
cl::init(0)  ,
cl::Hidden   
)
static

◆ AArch64StreamingStackHazardSize

cl::alias AArch64StreamingStackHazardSize("aarch64-stack-hazard-size", cl::desc("alias for -aarch64-streaming-hazard-size"), cl::aliasopt(AArch64StreamingHazardSize)) ( "aarch64-stack-hazard-size"  ,
cl::desc("alias for -aarch64-streaming-hazard-size")  ,
cl::aliasopt(AArch64StreamingHazardSize  
)
static

◆ AuthenticatedLRCheckMethod

cl::opt< AArch64PAuth::AuthCheckMethod > AuthenticatedLRCheckMethod("aarch64-authenticated-lr-check-method", cl::Hidden, cl::desc("Override the variant of check applied " "to authenticated LR during tail call"), cl::values(AUTH_CHECK_METHOD_CL_VALUES_LR)) ( "aarch64-authenticated-lr-check-method"  ,
cl::Hidden  ,
cl::desc("Override the variant of check applied " "to authenticated LR during tail call")  ,
cl::values(AUTH_CHECK_METHOD_CL_VALUES_LR  
)
static

◆ EnableEarlyIfConvert

cl::opt< bool > EnableEarlyIfConvert("aarch64-early-ifcvt", cl::desc("Enable the early if " "converter pass"), cl::init(true), cl::Hidden) ( "aarch64-early-ifcvt"  ,
cl::desc("Enable the early if " "converter pass")  ,
cl::init(true ,
cl::Hidden   
)
static

◆ EnableSubregLivenessTracking

cl::opt< bool > EnableSubregLivenessTracking("aarch64-enable-subreg-liveness-tracking", cl::init(false), cl::Hidden, cl::desc("Enable subreg liveness tracking")) ( "aarch64-enable-subreg-liveness-tracking"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Enable subreg liveness tracking")   
)
static

◆ MachOUseNonLazyBind

cl::opt< bool > MachOUseNonLazyBind("aarch64-macho-enable-nonlazybind", cl::desc("Call nonlazybind functions via direct GOT load for Mach-O"), cl::Hidden) ( "aarch64-macho-enable-nonlazybind"  ,
cl::desc("Call nonlazybind functions via direct GOT load for Mach-O")  ,
cl::Hidden   
)
static

◆ OverrideVectorInsertExtractBaseCost

cl::opt< unsigned > OverrideVectorInsertExtractBaseCost("aarch64-insert-extract-base-cost", cl::desc("Base cost of vector insert/extract element"), cl::Hidden) ( "aarch64-insert-extract-base-cost"  ,
cl::desc("Base cost of vector insert/extract element")  ,
cl::Hidden   
)
static

◆ ReservedRegsForRA

cl::list< std::string > ReservedRegsForRA("reserve-regs-for-regalloc", cl::desc("Reserve physical " "registers, so they can't be used by register allocator. " "Should only be used for testing register allocator."), cl::CommaSeparated, cl::Hidden) ( "reserve-regs-for-regalloc"  ,
cl::desc("Reserve physical " "registers, so they can't be used by register allocator. " "Should only be used for testing register allocator.")  ,
cl::CommaSeparated  ,
cl::Hidden   
)
static

◆ UseAA

cl::opt< bool > UseAA("aarch64-use-aa", cl::init(true), cl::desc("Enable the use of AA during codegen.")) ( "aarch64-use-aa"  ,
cl::init(true ,
cl::desc("Enable the use of AA during codegen.")   
)
static

◆ UseAddressTopByteIgnored

cl::opt< bool > UseAddressTopByteIgnored("aarch64-use-tbi", cl::desc("Assume that top byte of " "an address is ignored"), cl::init(false), cl::Hidden) ( "aarch64-use-tbi"  ,
cl::desc("Assume that top byte of " "an address is ignored")  ,
cl::init(false)  ,
cl::Hidden   
)
static

◆ UseScalarIncVL

cl::opt< bool > UseScalarIncVL("sve-use-scalar-inc-vl", cl::init(false), cl::Hidden, cl::desc("Prefer add+cnt over addvl/inc/dec")) ( "sve-use-scalar-inc-vl"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Prefer add+cnt over addvl/inc/dec")   
)
static