LLVM 17.0.0git
|
Define some predicates that are used for node matching. More...
Namespaces | |
namespace | EHABI |
namespace | WinEH |
Classes | |
struct | ArchNames |
struct | CpuNames |
struct | ExtName |
struct | FPUName |
struct | ParsedBranchProtection |
Variables | |
const ExtName | ARCHExtNames [] |
struct { | |
StringRef llvm::ARM::Name | |
uint64_t llvm::ARM::ID | |
} | HWDivNames [] |
const CpuNames | CPUNames [] |
static const FPUName | FPUNames [] |
static const ArchNames | ARMArchNames [] |
const unsigned | RoundingBitsPos = 22 |
RegisterBankInfo::PartialMapping | PartMappings [] |
RegisterBankInfo::ValueMapping | ValueMappings [] |
Define some predicates that are used for node matching.
enum llvm::ARM::ArchExtKind : uint64_t |
Definition at line 30 of file ARMTargetParser.h.
|
strong |
Enumerator | |
---|---|
ARM_ARCH |
Definition at line 96 of file ARMTargetParser.h.
enum llvm::ARM::DW_ISA |
Enumerator | |
---|---|
DW_ISA_ARM_thumb | |
DW_ISA_ARM_arm |
Definition at line 25 of file ARMAsmPrinter.h.
|
strong |
Enumerator | |
---|---|
INVALID | |
LITTLE | |
BIG |
Definition at line 23 of file ARMTargetParserCommon.h.
enum llvm::ARM::Fixups |
Definition at line 16 of file ARMFixupKinds.h.
enum llvm::ARM::FPUKind |
Enumerator | |
---|---|
FK_LAST |
Definition at line 121 of file ARMTargetParser.h.
|
strong |
Enumerator | |
---|---|
None | No restriction. |
D16 | Only 16 D registers. |
SP_D16 | Only single-precision instructions, with 16 D registers. |
Definition at line 139 of file ARMTargetParser.h.
|
strong |
Enumerator | |
---|---|
NONE | |
VFPV2 | |
VFPV3 | |
VFPV3_FP16 | |
VFPV4 | |
VFPV5 | |
VFPV5_FULLFP16 |
Definition at line 128 of file ARMTargetParser.h.
|
strong |
Enumerator | |
---|---|
INVALID | |
ARM | |
THUMB | |
AARCH64 |
Definition at line 21 of file ARMTargetParserCommon.h.
|
strong |
Enumerator | |
---|---|
None | No Neon. |
Neon | Neon. |
Crypto | Neon with Crypto. |
Definition at line 146 of file ARMTargetParser.h.
Enumerator | |
---|---|
OPERAND_VPRED_R | |
OPERAND_VPRED_N |
Definition at line 116 of file ARMMCTargetDesc.h.
Enumerator | |
---|---|
PMI_GPR | |
PMI_SPR | |
PMI_DPR | |
PMI_Min |
Definition at line 31 of file ARMRegisterBankInfo.cpp.
|
strong |
Mask values for IT and VPT Blocks, to be used by MCOperands.
Note that this is different from the "real" encoding used by the instructions. In this encoding, the lowest set bit indicates the end of the encoding, and above that, "1" indicates an else, while "0" indicates a then. Tx = x100 Txy = xy10 Txyz = xyz1
Enumerator | |
---|---|
T | |
TT | |
TE | |
TTT | |
TTE | |
TEE | |
TET | |
TTTT | |
TTTE | |
TTEE | |
TTET | |
TEEE | |
TEET | |
TETT | |
TETE |
Definition at line 105 of file ARMBaseInfo.h.
|
strong |
Enumerator | |
---|---|
INVALID | |
A | |
R | |
M |
Definition at line 153 of file ARMTargetParser.h.
enum llvm::ARM::Rounding |
Possible values of current rounding mode, which is specified in bits 23:22 of FPSCR.
Enumerator | |
---|---|
RN | |
RP | |
RM | |
RZ | |
rmMask |
Definition at line 368 of file ARMISelLowering.h.
Enumerator | |
---|---|
InvalidIdx | |
GPR3OpsIdx | |
SPR3OpsIdx | |
DPR3OpsIdx |
Definition at line 68 of file ARMRegisterBankInfo.cpp.
bool llvm::ARM::appendArchExtFeatures | ( | StringRef | CPU, |
ARM::ArchKind | AK, | ||
StringRef | ArchExt, | ||
std::vector< StringRef > & | Features, | ||
ARM::FPUKind & | ArgFPUKind | ||
) |
Definition at line 395 of file ARMTargetParser.cpp.
References AEK_INVALID, ARCHExtNames, findDoublePrecisionFPU(), getDefaultFPU(), getFPUFeatures(), parseArchExt(), and stripNegationPrefix().
|
static |
Definition at line 55 of file ARMRegisterBankInfo.cpp.
References assert(), checkPartMapping(), PartMappings, PMI_DPR, PMI_GPR, PMI_Min, and PMI_SPR.
Referenced by llvm::ARMRegisterBankInfo::ARMRegisterBankInfo().
|
static |
Definition at line 48 of file ARMRegisterBankInfo.cpp.
References llvm::RegisterBank::getID(), llvm::RegisterBankInfo::PartialMapping::Length, llvm::Length, llvm::RegisterBankInfo::PartialMapping::RegBank, and llvm::RegisterBankInfo::PartialMapping::StartIdx.
Referenced by checkPartialMappings().
|
static |
Definition at line 92 of file ARMRegisterBankInfo.cpp.
References llvm::RegisterBankInfo::ValueMapping::BreakDown, and llvm::RegisterBankInfo::ValueMapping::NumBreakDowns.
Referenced by checkValueMappings().
|
static |
Definition at line 97 of file ARMRegisterBankInfo.cpp.
References assert(), checkValueMapping(), DPR3OpsIdx, GPR3OpsIdx, PartMappings, PMI_DPR, PMI_GPR, PMI_Min, PMI_SPR, SPR3OpsIdx, and ValueMappings.
Referenced by llvm::ARMRegisterBankInfo::ARMRegisterBankInfo().
Definition at line 497 of file ARMTargetParser.cpp.
References llvm::Triple::Android, llvm::Triple::EABI, llvm::Triple::EABIHF, llvm::StringRef::empty(), getArchName(), llvm::Triple::GNUEABI, llvm::Triple::GNUEABIHF, llvm::Triple::MuslEABI, llvm::Triple::MuslEABIHF, parseArchProfile(), parseCPUArch(), TT, and llvm::Triple::UnknownOS.
Referenced by computeTargetABI().
ARM::ArchKind llvm::ARM::convertV9toV8 | ( | ARM::ArchKind | AK | ) |
Definition at line 439 of file ARMTargetParser.cpp.
References getProfileKind().
FastISel * llvm::ARM::createFastISel | ( | FunctionLoweringInfo & | funcInfo, |
const TargetLibraryInfo * | libInfo | ||
) |
Definition at line 3082 of file ARMFastISel.cpp.
References llvm::MachineFunction::getSubtarget(), llvm::FunctionLoweringInfo::MF, and llvm::ARMSubtarget::useFastISel().
Referenced by llvm::ARMTargetLowering::createFastISel().
void llvm::ARM::fillValidCPUArchList | ( | SmallVectorImpl< StringRef > & | Values | ) |
Definition at line 490 of file ARMTargetParser.cpp.
References CPUNames, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
unsigned llvm::ARM::getArchAttr | ( | ARM::ArchKind | AK | ) |
Definition at line 336 of file ARMTargetParser.cpp.
Referenced by llvm::jitlink::createLinkGraphFromELFObject_aarch32().
Definition at line 356 of file ARMTargetParser.cpp.
References ARCHExtNames, and stripNegationPrefix().
Definition at line 340 of file ARMTargetParser.cpp.
References ARCHExtNames.
StringRef llvm::ARM::getArchName | ( | ARM::ArchKind | AK | ) |
Definition at line 324 of file ARMTargetParser.cpp.
References Name.
Referenced by computeDefaultTargetABI(), and llvm::ARM_MC::ParseARMTriple().
Converts e.g. "armv8" -> "armv8-a".
Definition at line 19 of file ARMTargetParserCommon.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Cases(), and llvm::StringSwitch< T, R >::Default().
Referenced by llvm::AArch64::parseArch(), and parseArch().
StringRef llvm::ARM::getARMCPUForArch | ( | const llvm::Triple & | Triple, |
StringRef | MArch = {} |
||
) |
Get the (LLVM) name of the minimum ARM CPU for the arch we are targeting.
Arch | the architecture name (e.g., "armv7s"). If it is an empty string then the triple's arch name is used. |
Definition at line 533 of file ARMTargetParser.cpp.
References llvm::Triple::DriverKit, llvm::Triple::EABI, llvm::Triple::EABIHF, llvm::StringRef::empty(), llvm::StringRef::equals(), llvm::Triple::FreeBSD, llvm::Triple::getArchName(), getCanonicalArchName(), getDefaultCPU(), llvm::Triple::getEnvironment(), llvm::Triple::getOS(), llvm::Triple::GNUEABI, llvm::Triple::GNUEABIHF, llvm::Triple::IOS, llvm_unreachable, llvm::Triple::MacOSX, llvm::Triple::MuslEABIHF, llvm::Triple::NaCl, llvm::Triple::NetBSD, llvm::Triple::OpenBSD, parseArchVersion(), llvm::Triple::TvOS, llvm::Triple::WatchOS, and llvm::Triple::Win32.
MArch is expected to be of the form (arm|thumb)?(eb)?(v.
+)?(eb)?, but (iwmmxt|xscale)(eb)? is also permitted. If the former, return "v.+", if the latter, return unmodified string, minus 'eb'. If invalid, return empty string.
Definition at line 53 of file ARMTargetParserCommon.cpp.
References A, and llvm::StringRef::npos.
Referenced by getARMCPUForArch(), llvm::AArch64::parseArch(), parseArch(), parseArchProfile(), parseArchVersion(), parseARMArch(), and parseSubArch().
StringRef llvm::ARM::getCPUAttr | ( | ARM::ArchKind | AK | ) |
Definition at line 328 of file ARMTargetParser.cpp.
Definition at line 450 of file ARMTargetParser.cpp.
References CPUNames, and parseArch().
Referenced by getARMCPUForArch().
uint64_t llvm::ARM::getDefaultExtensions | ( | StringRef | CPU, |
ARM::ArchKind | AK | ||
) |
Definition at line 276 of file ARMTargetParser.cpp.
References AEK_INVALID, ARMArchNames, and llvm::StringSwitch< T, R >::Default().
ARM::FPUKind llvm::ARM::getDefaultFPU | ( | StringRef | CPU, |
ARM::ArchKind | AK | ||
) |
Definition at line 265 of file ARMTargetParser.cpp.
References ARMArchNames, and llvm::StringSwitch< T, R >::Default().
Referenced by appendArchExtFeatures().
Definition at line 308 of file ARMTargetParser.cpp.
References AEK_INVALID, ARCHExtNames, getHWDivFeatures(), and llvm::AArch64::ExtensionInfo::ID.
bool llvm::ARM::getFPUFeatures | ( | ARM::FPUKind | FPUKind, |
std::vector< StringRef > & | Features | ||
) |
Definition at line 150 of file ARMTargetParser.cpp.
Referenced by appendArchExtFeatures().
StringRef llvm::ARM::getFPUName | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 247 of file ARMTargetParser.cpp.
References FK_LAST.
ARM::NeonSupportLevel llvm::ARM::getFPUNeonSupportLevel | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 224 of file ARMTargetParser.cpp.
References FK_LAST.
ARM::FPURestriction llvm::ARM::getFPURestriction | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 259 of file ARMTargetParser.cpp.
References FK_LAST.
Definition at line 230 of file ARMTargetParser.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Cases(), and llvm::StringSwitch< T, R >::Default().
Referenced by parseFPU().
ARM::FPUVersion llvm::ARM::getFPUVersion | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 253 of file ARMTargetParser.cpp.
References FK_LAST.
Definition at line 289 of file ARMTargetParser.cpp.
References AEK_HWDIVARM, AEK_HWDIVTHUMB, and AEK_INVALID.
Referenced by getExtensionFeatures().
StringRef llvm::ARM::getSubArch | ( | ARM::ArchKind | AK | ) |
Definition at line 332 of file ARMTargetParser.cpp.
References getSubArch().
Referenced by getSubArch().
Definition at line 20887 of file ARMISelLowering.cpp.
References llvm::isShiftedMask_32().
Referenced by PerformORCombineToBFI().
bool llvm::ARM::isCDECoproc | ( | size_t | Coproc, |
const MCSubtargetInfo & | STI | ||
) |
Definition at line 630 of file ARMMCTargetDesc.cpp.
References llvm::MCSubtargetInfo::getFeatureBits().
|
inline |
Definition at line 120 of file ARMMCTargetDesc.h.
References op, OPERAND_VPRED_N, and OPERAND_VPRED_R.
Referenced by findFirstVectorPredOperandIdx(), llvm::findFirstVPTPredOperandIdx(), and isVpred().
|
inline |
Definition at line 123 of file ARMMCTargetDesc.h.
Definition at line 201 of file ARMTargetParser.h.
References assert().
ARM::ArchKind llvm::ARM::parseArch | ( | StringRef | Arch | ) |
Definition at line 29 of file ARMTargetParser.cpp.
References A, getArchSynonym(), and getCanonicalArchName().
Referenced by llvm::jitlink::createLinkGraphFromELFObject_aarch32(), getARMSubType(), llvm::ARM_MC::ParseARMTriple(), and parseSubArch().
ARM::EndianKind llvm::ARM::parseArchEndian | ( | StringRef | Arch | ) |
Definition at line 117 of file ARMTargetParserCommon.cpp.
References llvm::StringRef::endswith(), and llvm::StringRef::startswith().
Referenced by parseARMArch().
Definition at line 474 of file ARMTargetParser.cpp.
References A, AEK_INVALID, and ARCHExtNames.
Referenced by appendArchExtFeatures().
ARM::ISAKind llvm::ARM::parseArchISA | ( | StringRef | Arch | ) |
Definition at line 108 of file ARMTargetParserCommon.cpp.
References llvm::StringSwitch< T, R >::Default(), and llvm::StringSwitch< T, R >::StartsWith().
Referenced by parseARMArch().
ARM::ProfileKind llvm::ARM::parseArchProfile | ( | StringRef | Arch | ) |
Definition at line 145 of file ARMTargetParser.cpp.
References getCanonicalArchName(), getProfileKind(), and parseArch().
Referenced by computeDefaultTargetABI(), and parseARMArch().
Definition at line 40 of file ARMTargetParser.cpp.
References getCanonicalArchName(), llvm_unreachable, and parseArch().
Referenced by getARMCPUForArch(), and parseARMArch().
bool llvm::ARM::parseBranchProtection | ( | StringRef | Spec, |
ParsedBranchProtection & | PBP, | ||
StringRef & | Err | ||
) |
Definition at line 140 of file ARMTargetParserCommon.cpp.
References llvm::ARM::ParsedBranchProtection::BranchTargetEnforcement, E, I, llvm::ARM::ParsedBranchProtection::Key, llvm::ARM::ParsedBranchProtection::Scope, and llvm::SmallVectorBase< Size_T >::size().
ARM::ArchKind llvm::ARM::parseCPUArch | ( | StringRef | CPU | ) |
Definition at line 482 of file ARMTargetParser.cpp.
References llvm::CallingConv::C, and CPUNames.
Referenced by computeDefaultTargetABI().
ARM::FPUKind llvm::ARM::parseFPU | ( | StringRef | FPU | ) |
Definition at line 215 of file ARMTargetParser.cpp.
References F, and getFPUSynonym().
Definition at line 465 of file ARMTargetParser.cpp.
References AEK_INVALID, D, getHWDivSynonym(), and HWDivNames.
Definition at line 79 of file ARMTargetParser.h.
Referenced by appendArchExtFeatures(), getArchExtFeature(), getArchExtName(), getExtensionFeatures(), and parseArchExt().
Definition at line 193 of file ARMTargetParser.h.
Referenced by getDefaultExtensions(), and getDefaultFPU().
Definition at line 114 of file ARMTargetParser.h.
Referenced by fillValidCPUArchList(), getDefaultCPU(), and parseCPUArch().
Definition at line 167 of file ARMTargetParser.h.
Referenced by findDoublePrecisionFPU().
const struct { ... } llvm::ARM::HWDivNames[] |
Referenced by parseHWDiv().
uint64_t llvm::ARM::ID |
Definition at line 89 of file ARMTargetParser.h.
StringRef llvm::ARM::Name |
Definition at line 88 of file ARMTargetParser.h.
RegisterBankInfo::PartialMapping llvm::ARM::PartMappings[] |
Definition at line 38 of file ARMRegisterBankInfo.cpp.
Referenced by checkPartialMappings(), and checkValueMappings().
Definition at line 377 of file ARMISelLowering.h.
RegisterBankInfo::ValueMapping llvm::ARM::ValueMappings[] |
Definition at line 75 of file ARMRegisterBankInfo.cpp.
Referenced by checkValueMappings(), and llvm::ARMRegisterBankInfo::getInstrMapping().