LLVM 22.0.0git
|
Classes | |
struct | Alias |
struct | ArchInfo |
struct | CpuInfo |
struct | ExtensionDependency |
struct | ExtensionInfo |
struct | ExtensionSet |
struct | FMVInfo |
Typedefs | |
using | ExtensionBitset = Bitset< AEK_NUM_EXTENSIONS > |
using | Specifier = uint16_t |
Enumerations | |
enum | ArchProfile { AProfile = 'A' , RProfile = 'R' , InvalidProfile = '?' } |
enum | ElementSizeType { ElementSizeMask = TSFLAG_ELEMENT_SIZE_TYPE(0x7) , ElementSizeNone = TSFLAG_ELEMENT_SIZE_TYPE(0x0) , ElementSizeB = TSFLAG_ELEMENT_SIZE_TYPE(0x1) , ElementSizeH = TSFLAG_ELEMENT_SIZE_TYPE(0x2) , ElementSizeS = TSFLAG_ELEMENT_SIZE_TYPE(0x3) , ElementSizeD = TSFLAG_ELEMENT_SIZE_TYPE(0x4) } |
enum | DestructiveInstType { DestructiveInstTypeMask = TSFLAG_DESTRUCTIVE_INST_TYPE(0xf) , NotDestructive = TSFLAG_DESTRUCTIVE_INST_TYPE(0x0) , DestructiveOther = TSFLAG_DESTRUCTIVE_INST_TYPE(0x1) , DestructiveUnary = TSFLAG_DESTRUCTIVE_INST_TYPE(0x2) , DestructiveBinaryImm = TSFLAG_DESTRUCTIVE_INST_TYPE(0x3) , DestructiveBinaryShImmUnpred = TSFLAG_DESTRUCTIVE_INST_TYPE(0x4) , DestructiveBinary = TSFLAG_DESTRUCTIVE_INST_TYPE(0x5) , DestructiveBinaryComm = TSFLAG_DESTRUCTIVE_INST_TYPE(0x6) , DestructiveBinaryCommWithRev = TSFLAG_DESTRUCTIVE_INST_TYPE(0x7) , DestructiveTernaryCommWithRev = TSFLAG_DESTRUCTIVE_INST_TYPE(0x8) , Destructive2xRegImmUnpred = TSFLAG_DESTRUCTIVE_INST_TYPE(0x9) , DestructiveUnaryPassthru = TSFLAG_DESTRUCTIVE_INST_TYPE(0xa) } |
enum | FalseLaneType { FalseLanesMask = TSFLAG_FALSE_LANE_TYPE(0x3) , FalseLanesZero = TSFLAG_FALSE_LANE_TYPE(0x1) , FalseLanesUndef = TSFLAG_FALSE_LANE_TYPE(0x2) } |
enum | SMEMatrixType { SMEMatrixTypeMask = TSFLAG_SME_MATRIX_TYPE(0x7) , SMEMatrixNone = TSFLAG_SME_MATRIX_TYPE(0x0) , SMEMatrixTileB = TSFLAG_SME_MATRIX_TYPE(0x1) , SMEMatrixTileH = TSFLAG_SME_MATRIX_TYPE(0x2) , SMEMatrixTileS = TSFLAG_SME_MATRIX_TYPE(0x3) , SMEMatrixTileD = TSFLAG_SME_MATRIX_TYPE(0x4) , SMEMatrixTileQ = TSFLAG_SME_MATRIX_TYPE(0x5) , SMEMatrixArray = TSFLAG_SME_MATRIX_TYPE(0x6) } |
enum | Rounding { RN = 0 , RP = 1 , RM = 2 , RZ = 3 , rmMask = 3 } |
Possible values of current rounding mode, which is specified in bits 23:22 of FPCR. More... | |
enum | Fixups { fixup_aarch64_pcrel_adr_imm21 = FirstTargetFixupKind , fixup_aarch64_pcrel_adrp_imm21 , fixup_aarch64_add_imm12 , fixup_aarch64_ldst_imm12_scale1 , fixup_aarch64_ldst_imm12_scale2 , fixup_aarch64_ldst_imm12_scale4 , fixup_aarch64_ldst_imm12_scale8 , fixup_aarch64_ldst_imm12_scale16 , fixup_aarch64_ldr_pcrel_imm19 , fixup_aarch64_movw , fixup_aarch64_pcrel_branch9 , fixup_aarch64_pcrel_branch14 , fixup_aarch64_pcrel_branch16 , fixup_aarch64_pcrel_branch19 , fixup_aarch64_pcrel_branch26 , fixup_aarch64_pcrel_call26 , LastTargetFixupKind , NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind } |
enum | { S_None = 0 , S_ABS = 0x001 , S_SABS = 0x002 , S_PREL = 0x003 , S_GOT = 0x004 , S_DTPREL = 0x005 , S_GOTTPREL = 0x006 , S_TPREL = 0x007 , S_TLSDESC = 0x008 , S_SECREL = 0x009 , S_AUTH = 0x00a , S_AUTHADDR = 0x00b , S_GOT_AUTH = 0x00c , S_TLSDESC_AUTH = 0x00d , S_SymLocBits = 0x00f , S_PAGE = 0x010 , S_PAGEOFF = 0x020 , S_HI12 = 0x030 , S_G0 = 0x040 , S_G1 = 0x050 , S_G2 = 0x060 , S_G3 = 0x070 , S_LO15 = 0x080 , S_AddressFragBits = 0x0f0 , S_NC = 0x100 , S_CALL = S_ABS , S_ABS_PAGE = S_ABS | S_PAGE , S_ABS_PAGE_NC = S_ABS | S_PAGE | S_NC , S_ABS_G3 = S_ABS | S_G3 , S_ABS_G2 = S_ABS | S_G2 , S_ABS_G2_S = S_SABS | S_G2 , S_ABS_G2_NC = S_ABS | S_G2 | S_NC , S_ABS_G1 = S_ABS | S_G1 , S_ABS_G1_S = S_SABS | S_G1 , S_ABS_G1_NC = S_ABS | S_G1 | S_NC , S_ABS_G0 = S_ABS | S_G0 , S_ABS_G0_S = S_SABS | S_G0 , S_ABS_G0_NC = S_ABS | S_G0 | S_NC , S_LO12 = S_ABS | S_PAGEOFF | S_NC , S_PREL_G3 = S_PREL | S_G3 , S_PREL_G2 = S_PREL | S_G2 , S_PREL_G2_NC = S_PREL | S_G2 | S_NC , S_PREL_G1 = S_PREL | S_G1 , S_PREL_G1_NC = S_PREL | S_G1 | S_NC , S_PREL_G0 = S_PREL | S_G0 , S_PREL_G0_NC = S_PREL | S_G0 | S_NC , S_GOT_LO12 = S_GOT | S_PAGEOFF | S_NC , S_GOT_PAGE = S_GOT | S_PAGE , S_GOT_PAGE_LO15 = S_GOT | S_LO15 | S_NC , S_GOT_AUTH_LO12 = S_GOT_AUTH | S_PAGEOFF | S_NC , S_GOT_AUTH_PAGE = S_GOT_AUTH | S_PAGE , S_DTPREL_G2 = S_DTPREL | S_G2 , S_DTPREL_G1 = S_DTPREL | S_G1 , S_DTPREL_G1_NC = S_DTPREL | S_G1 | S_NC , S_DTPREL_G0 = S_DTPREL | S_G0 , S_DTPREL_G0_NC = S_DTPREL | S_G0 | S_NC , S_DTPREL_HI12 = S_DTPREL | S_HI12 , S_DTPREL_LO12 = S_DTPREL | S_PAGEOFF , S_DTPREL_LO12_NC = S_DTPREL | S_PAGEOFF | S_NC , S_GOTTPREL_PAGE = S_GOTTPREL | S_PAGE , S_GOTTPREL_LO12_NC = S_GOTTPREL | S_PAGEOFF | S_NC , S_GOTTPREL_G1 = S_GOTTPREL | S_G1 , S_GOTTPREL_G0_NC = S_GOTTPREL | S_G0 | S_NC , S_TPREL_G2 = S_TPREL | S_G2 , S_TPREL_G1 = S_TPREL | S_G1 , S_TPREL_G1_NC = S_TPREL | S_G1 | S_NC , S_TPREL_G0 = S_TPREL | S_G0 , S_TPREL_G0_NC = S_TPREL | S_G0 | S_NC , S_TPREL_HI12 = S_TPREL | S_HI12 , S_TPREL_LO12 = S_TPREL | S_PAGEOFF , S_TPREL_LO12_NC = S_TPREL | S_PAGEOFF | S_NC , S_TLSDESC_LO12 = S_TLSDESC | S_PAGEOFF , S_TLSDESC_PAGE = S_TLSDESC | S_PAGE , S_TLSDESC_AUTH_LO12 = S_TLSDESC_AUTH | S_PAGEOFF , S_TLSDESC_AUTH_PAGE = S_TLSDESC_AUTH | S_PAGE , S_SECREL_LO12 = S_SECREL | S_PAGEOFF , S_SECREL_HI12 = S_SECREL | S_HI12 , S_PLT = 0x400 , S_GOTPCREL , S_MACHO_GOT , S_MACHO_GOTPAGE , S_MACHO_GOTPAGEOFF , S_MACHO_PAGE , S_MACHO_PAGEOFF , S_MACHO_TLVP , S_MACHO_TLVPPAGE , S_MACHO_TLVPPAGEOFF , S_INVALID = 0xfff } |
enum | OperandType { OPERAND_IMPLICIT_IMM_0 = MCOI::OPERAND_FIRST_TARGET } |
Variables | |
static const uint64_t | InstrFlagIsWhile = TSFLAG_INSTR_FLAGS(0x1) |
static const uint64_t | InstrFlagIsPTestLike = TSFLAG_INSTR_FLAGS(0x2) |
const unsigned | RoundingBitsPos = 22 |
const uint64_t | ReservedFPControlBits = 0xfffffffff80040f8 |
const unsigned | StackProbeMaxUnprobedStack = 1024 |
Maximum allowed number of unprobed bytes above SP at an ABI boundary. | |
const unsigned | StackProbeMaxLoopUnroll = 4 |
Maximum number of iterations to unroll for a constant size probing loop. | |
static constexpr unsigned | SVEBitsPerBlock = 128 |
static constexpr unsigned | SVEMaxBitsPerVector = 2048 |
using llvm::AArch64::ExtensionBitset = typedef Bitset<AEK_NUM_EXTENSIONS> |
Definition at line 49 of file AArch64TargetParser.h.
using llvm::AArch64::Specifier = typedef uint16_t |
Definition at line 64 of file AArch64MCAsmInfo.h.
anonymous enum |
Definition at line 66 of file AArch64MCAsmInfo.h.
Enumerator | |
---|---|
AProfile | |
RProfile | |
InvalidProfile |
Definition at line 97 of file AArch64TargetParser.h.
Definition at line 818 of file AArch64InstrInfo.h.
Enumerator | |
---|---|
ElementSizeMask | |
ElementSizeNone | |
ElementSizeB | |
ElementSizeH | |
ElementSizeS | |
ElementSizeD |
Definition at line 809 of file AArch64InstrInfo.h.
Enumerator | |
---|---|
FalseLanesMask | |
FalseLanesZero | |
FalseLanesUndef |
Definition at line 833 of file AArch64InstrInfo.h.
Definition at line 17 of file AArch64FixupKinds.h.
Enumerator | |
---|---|
OPERAND_IMPLICIT_IMM_0 |
Definition at line 71 of file AArch64MCTargetDesc.h.
Possible values of current rounding mode, which is specified in bits 23:22 of FPCR.
Enumerator | |
---|---|
RN | |
RP | |
RM | |
RZ | |
rmMask |
Definition at line 31 of file AArch64ISelLowering.h.
Enumerator | |
---|---|
SMEMatrixTypeMask | |
SMEMatrixNone | |
SMEMatrixTileB | |
SMEMatrixTileH | |
SMEMatrixTileS | |
SMEMatrixTileD | |
SMEMatrixTileQ | |
SMEMatrixArray |
Definition at line 843 of file AArch64InstrInfo.h.
FastISel * llvm::AArch64::createFastISel | ( | FunctionLoweringInfo & | funcInfo, |
const TargetLibraryInfo * | libInfo | ||
) |
Definition at line 5194 of file AArch64FastISel.cpp.
References llvm::MachineFunction::getInfo(), llvm::SMEAttrs::hasAgnosticZAInterface(), llvm::SMEAttrs::hasStreamingCompatibleInterface(), llvm::SMEAttrs::hasStreamingInterfaceOrBody(), llvm::SMEAttrs::hasZAState(), llvm::SMEAttrs::hasZT0State(), and llvm::FunctionLoweringInfo::MF.
Referenced by llvm::AArch64TargetLowering::createFastISel().
void llvm::AArch64::fillValidCPUArchList | ( | SmallVectorImpl< StringRef > & | Values | ) |
Definition at line 127 of file AArch64TargetParser.cpp.
References llvm::AArch64::Alias::AltName, llvm::CallingConv::C, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::sort().
Definition at line 190 of file AArch64MCAsmInfo.h.
References S_AddressFragBits.
Referenced by adjustFixupValue().
Definition at line 115 of file AArch64TargetParser.cpp.
References assert(), llvm::StringRef::drop_front(), parseArchExtension(), and llvm::StringRef::starts_with().
const AArch64::ArchInfo * llvm::AArch64::getArchForCpu | ( | StringRef | CPU | ) |
Definition at line 36 of file AArch64TargetParser.cpp.
References parseCpu().
Definition at line 80 of file AArch64TargetParser.cpp.
References llvm::AArch64::ExtensionSet::enable(), llvm::AArch64::ExtensionSet::Enabled, getFMVInfo(), llvm::APInt::getZero(), Info, parseFMVExtension(), llvm::APInt::setBit(), and llvm::Bitset< NumBits >::test().
LLVM_ABI const ExtensionInfo & llvm::AArch64::getExtensionByID | ( | ArchExtKind(ExtID) | ) |
bool llvm::AArch64::getExtensionFeatures | ( | const AArch64::ExtensionBitset & | Extensions, |
std::vector< StringRef > & | Features | ||
) |
Definition at line 97 of file AArch64TargetParser.cpp.
References Extensions, and llvm::Bitset< NumBits >::test().
Referenced by getCpuSupportsMask(), getFMVPriority(), lookupFMVByID(), and parseFMVExtension().
Definition at line 58 of file AArch64TargetParser.cpp.
References llvm::AArch64::ExtensionSet::enable(), llvm::AArch64::ExtensionSet::Enabled, getFMVInfo(), llvm::APInt::getZero(), Info, lookupFMVByID(), parseFMVExtension(), llvm::APInt::setBit(), targetFeatureToExtension(), and llvm::Bitset< NumBits >::test().
Referenced by llvm::AArch64TTIImpl::getFeatureMask().
Definition at line 180 of file AArch64ISelLowering.cpp.
References FPRArgRegs.
Definition at line 178 of file AArch64ISelLowering.cpp.
References GPRArgRegs.
int llvm::AArch64::getSMEPseudoMap | ( | uint16_t | Opcode | ) |
Referenced by llvm::AArch64TargetLowering::EmitInstrWithCustomInserter().
StringRef llvm::AArch64::getSpecifierName | ( | AArch64::Specifier | S | ) |
Return the string representation of the ELF relocation specifier (e.g.
":got:", ":lo12:").
Definition at line 56 of file AArch64MCAsmInfo.cpp.
References llvm_unreachable, S_ABS_G0, S_ABS_G0_NC, S_ABS_G0_S, S_ABS_G1, S_ABS_G1_NC, S_ABS_G1_S, S_ABS_G2, S_ABS_G2_NC, S_ABS_G2_S, S_ABS_G3, S_ABS_PAGE, S_ABS_PAGE_NC, S_CALL, S_DTPREL_G0, S_DTPREL_G0_NC, S_DTPREL_G1, S_DTPREL_G1_NC, S_DTPREL_G2, S_DTPREL_HI12, S_DTPREL_LO12, S_DTPREL_LO12_NC, S_GOT, S_GOT_AUTH, S_GOT_AUTH_LO12, S_GOT_AUTH_PAGE, S_GOT_LO12, S_GOT_PAGE, S_GOT_PAGE_LO15, S_GOTTPREL, S_GOTTPREL_G0_NC, S_GOTTPREL_G1, S_GOTTPREL_LO12_NC, S_GOTTPREL_PAGE, S_LO12, S_PREL_G0, S_PREL_G0_NC, S_PREL_G1, S_PREL_G1_NC, S_PREL_G2, S_PREL_G2_NC, S_PREL_G3, S_SECREL_HI12, S_SECREL_LO12, S_TLSDESC, S_TLSDESC_AUTH, S_TLSDESC_AUTH_LO12, S_TLSDESC_AUTH_PAGE, S_TLSDESC_LO12, S_TLSDESC_PAGE, S_TPREL_G0, S_TPREL_G0_NC, S_TPREL_G1, S_TPREL_G1_NC, S_TPREL_G2, S_TPREL_HI12, S_TPREL_LO12, and S_TPREL_LO12_NC.
Referenced by llvm::AArch64MCAsmInfoDarwin::printSpecifierExpr(), llvm::AArch64MCAsmInfoELF::printSpecifierExpr(), llvm::AArch64MCAsmInfoMicrosoftCOFF::printSpecifierExpr(), and llvm::AArch64MCAsmInfoGNUCOFF::printSpecifierExpr().
int llvm::AArch64::getSVENonRevInstr | ( | uint16_t | Opcode | ) |
int llvm::AArch64::getSVEPseudoMap | ( | uint16_t | Opcode | ) |
int llvm::AArch64::getSVERevInstr | ( | uint16_t | Opcode | ) |
Definition at line 186 of file AArch64MCAsmInfo.h.
References S_SymLocBits.
Referenced by adjustFixupValue().
Definition at line 194 of file AArch64MCAsmInfo.h.
References S_NC.
Definition at line 139 of file AArch64TargetParser.cpp.
Referenced by llvm::AArch64Subtarget::AArch64Subtarget().
const AArch64::ArchInfo * llvm::AArch64::parseArch | ( | StringRef | Arch | ) |
Definition at line 145 of file AArch64TargetParser.cpp.
References A, checkArchVersion(), llvm::ARM::getArchSynonym(), and llvm::ARM::getCanonicalArchName().
std::optional< AArch64::ExtensionInfo > llvm::AArch64::parseArchExtension | ( | StringRef | Extension | ) |
Definition at line 159 of file AArch64TargetParser.cpp.
References A, llvm::StringRef::empty(), and Extensions.
Referenced by getArchExtFeature(), and llvm::AArch64::ExtensionSet::parseModifier().
std::optional< AArch64::CpuInfo > llvm::AArch64::parseCpu | ( | StringRef | Name | ) |
Definition at line 190 of file AArch64TargetParser.cpp.
References llvm::CallingConv::C, Name, and resolveCPUAlias().
Referenced by getArchForCpu().
std::optional< AArch64::FMVInfo > llvm::AArch64::parseFMVExtension | ( | StringRef | Extension | ) |
Definition at line 169 of file AArch64TargetParser.cpp.
References getFMVInfo(), and I.
Referenced by getCpuSupportsMask(), and getFMVPriority().
Definition at line 220 of file AArch64TargetParser.cpp.
References llvm::format(), llvm::left_justify(), llvm::outs(), and targetFeatureToExtension().
void llvm::AArch64::PrintSupportedExtensions | ( | ) |
Definition at line 202 of file AArch64TargetParser.cpp.
References Extensions, llvm::format(), llvm::left_justify(), and llvm::outs().
Definition at line 108 of file AArch64TargetParser.cpp.
Referenced by createAArch64MCSubtargetInfo(), and parseCpu().
std::optional< AArch64::ExtensionInfo > llvm::AArch64::targetFeatureToExtension | ( | StringRef | TargetFeature | ) |
Definition at line 182 of file AArch64TargetParser.cpp.
References Extensions.
Referenced by getFMVPriority(), printEnabledExtensions(), and llvm::AArch64::ExtensionSet::reconstructFromParsedFeatures().
|
static |
Definition at line 841 of file AArch64InstrInfo.h.
Referenced by llvm::AArch64InstrInfo::isPTestLikeOpcode().
|
static |
Definition at line 840 of file AArch64InstrInfo.h.
Referenced by llvm::AArch64InstrInfo::isWhileOpcode().
Definition at line 43 of file AArch64ISelLowering.h.
Definition at line 40 of file AArch64ISelLowering.h.
Maximum number of iterations to unroll for a constant size probing loop.
Definition at line 54 of file AArch64ISelLowering.h.
Maximum allowed number of unprobed bytes above SP at an ABI boundary.
Definition at line 51 of file AArch64ISelLowering.h.
Referenced by llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr().
|
staticconstexpr |
Definition at line 940 of file AArch64BaseInfo.h.
Referenced by findMoreOptimalIndexType(), GenerateFixedLengthSVETBL(), llvm::AArch64TTIImpl::getCastInstrCost(), getHistogramCost(), getPackedVectorTypeFromPredicateType(), llvm::AArch64TTIImpl::getShuffleCost(), instCombineSVECmpNE(), isAllActivePredicate(), isPackedVectorType(), isUnpackedVectorVT(), LowerSVEIntrinsicEXT(), performGatherLoadCombine(), performLD1Combine(), performScatterStoreCombine(), and llvm::AArch64Subtarget::useSVEForFixedLengthVectors().
|
staticconstexpr |
Definition at line 941 of file AArch64BaseInfo.h.