LLVM 22.0.0git
AArch64Subtarget.cpp File Reference

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::stringReservedRegsForRA ("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(10), 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< boolEnableZPRPredicateSpills ("aarch64-enable-zpr-predicate-spills", cl::init(false), cl::Hidden, cl::desc("Enables spilling/reloading SVE predicates as data vectors (ZPRs)"))
static cl::opt< unsignedVScaleForTuningOpt ("sve-vscale-for-tuning", cl::Hidden, cl::desc("Force a vscale for tuning factor for SVE"))
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(10), cl::Hidden, cl::desc("Set minimum number of entries to use a jump table on AArch64")) ( "aarch64-min-jump-table-entries" ,
cl::init(10) ,
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

◆ EnableZPRPredicateSpills

cl::opt< bool > EnableZPRPredicateSpills("aarch64-enable-zpr-predicate-spills", cl::init(false), cl::Hidden, cl::desc( "Enables spilling/reloading SVE predicates as data vectors (ZPRs)")) ( "aarch64-enable-zpr-predicate-spills" ,
cl::init(false) ,
cl::Hidden ,
cl::desc( "Enables spilling/reloading SVE predicates as data vectors (ZPRs)")  )
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

◆ VScaleForTuningOpt

cl::opt< unsigned > VScaleForTuningOpt("sve-vscale-for-tuning", cl::Hidden, cl::desc("Force a vscale for tuning factor for SVE")) ( "sve-vscale-for-tuning" ,
cl::Hidden ,
cl::desc("Force a vscale for tuning factor for SVE")  )
static