|
LLVM 24.0.0git
|
#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 |
Functions | |
| static unsigned | getMOVKShiftImm (const MachineInstr &MI) |
| Returns a MOVK's shifter operand, or 0 otherwise. | |
| static bool | fusesMOVImmPairImpl (const AArch64Subtarget &ST, bool HasFirst, unsigned FirstOpc, unsigned FirstShift, unsigned SecondOpc, unsigned SecondShift) |
HasFirst is false when the 1st instruction is a wildcard. | |
Variables | |
| static cl::opt< bool > | EnableEarlyIfConvert ("aarch64-early-ifcvt", cl::desc("Enable the early if " "converter pass"), cl::init(true), cl::Hidden) |
| static cl::opt< bool > | UseAddressTopByteIgnored ("aarch64-use-tbi", cl::desc("Assume that top byte of " "an address is ignored"), cl::init(false), cl::Hidden) |
| static cl::opt< bool > | MachOUseNonLazyBind ("aarch64-macho-enable-nonlazybind", cl::desc("Call nonlazybind functions via direct GOT load for Mach-O"), cl::Hidden) |
| static cl::opt< bool > | UseAA ("aarch64-use-aa", cl::init(true), cl::desc("Enable the use of AA during codegen.")) |
| static cl::opt< unsigned > | OverrideVectorInsertExtractBaseCost ("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::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)) |
| static 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")) |
| static cl::opt< unsigned > | AArch64StreamingHazardSize ("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< unsigned > | VScaleForTuningOpt ("sve-vscale-for-tuning", cl::Hidden, cl::desc("Force a vscale for tuning factor for SVE")) |
| static cl::opt< bool > | EnableSubregLivenessTracking ("aarch64-enable-subreg-liveness-tracking", cl::init(false), cl::Hidden, cl::desc("Enable subreg liveness tracking")) |
| static cl::opt< bool > | UseScalarIncVL ("sve-use-scalar-inc-vl", cl::init(false), cl::Hidden, cl::desc("Prefer add+cnt over addvl/inc/dec")) |
| #define DEBUG_TYPE "aarch64-subtarget" |
Definition at line 32 of file AArch64Subtarget.cpp.
| #define GET_SUBTARGETINFO_CTOR |
Definition at line 34 of file AArch64Subtarget.cpp.
| #define GET_SUBTARGETINFO_TARGET_DESC |
Definition at line 35 of file AArch64Subtarget.cpp.
|
static |
HasFirst is false when the 1st instruction is a wildcard.
Definition at line 664 of file AArch64Subtarget.cpp.
References assert().
Referenced by llvm::AArch64Subtarget::fusesMOVImmPair(), and llvm::AArch64Subtarget::fusesMOVImmPair().
|
static |
Returns a MOVK's shifter operand, or 0 otherwise.
Definition at line 656 of file AArch64Subtarget.cpp.
Referenced by llvm::AArch64Subtarget::fusesMOVImmPair().
|
static |
|
static |
Referenced by llvm::AArch64Subtarget::AArch64Subtarget().
|
static |
|
static |
Referenced by llvm::AArch64Subtarget::getAuthenticatedLRCheckMethod().
|
static |
Referenced by llvm::AArch64Subtarget::enableEarlyIfConversion().
|
static |
Referenced by llvm::AArch64Subtarget::AArch64Subtarget().
|
static |
Referenced by llvm::AArch64Subtarget::classifyGlobalFunctionReference().
|
static |
Referenced by llvm::AArch64Subtarget::getVectorInsertExtractBaseCost().
|
static |
Referenced by llvm::AArch64Subtarget::AArch64Subtarget().
|
static |
Referenced by llvm::AArch64Subtarget::supportsAddressTopByteIgnored().
|
static |
Referenced by llvm::AArch64Subtarget::useScalarIncVL().