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 369 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, | ||
unsigned & | ArgFPUKind | ||
) |
Definition at line 394 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 496 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 438 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 489 of file ARMTargetParser.cpp.
References CPUNames, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
unsigned llvm::ARM::getArchAttr | ( | ARM::ArchKind | AK | ) |
Definition at line 335 of file ARMTargetParser.cpp.
Definition at line 355 of file ARMTargetParser.cpp.
References ARCHExtNames, and stripNegationPrefix().
Definition at line 339 of file ARMTargetParser.cpp.
References ARCHExtNames.
StringRef llvm::ARM::getArchName | ( | ARM::ArchKind | AK | ) |
Definition at line 323 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 532 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 327 of file ARMTargetParser.cpp.
Definition at line 449 of file ARMTargetParser.cpp.
References CPUNames, and parseArch().
Referenced by getARMCPUForArch().
uint64_t llvm::ARM::getDefaultExtensions | ( | StringRef | CPU, |
ARM::ArchKind | AK | ||
) |
Definition at line 275 of file ARMTargetParser.cpp.
References AEK_INVALID, ARMArchNames, and llvm::StringSwitch< T, R >::Default().
unsigned llvm::ARM::getDefaultFPU | ( | StringRef | CPU, |
ARM::ArchKind | AK | ||
) |
Definition at line 264 of file ARMTargetParser.cpp.
References ARMArchNames, and llvm::StringSwitch< T, R >::Default().
Referenced by appendArchExtFeatures().
Definition at line 307 of file ARMTargetParser.cpp.
References AEK_INVALID, ARCHExtNames, getHWDivFeatures(), and llvm::AArch64::ExtensionInfo::ID.
Definition at line 150 of file ARMTargetParser.cpp.
Referenced by appendArchExtFeatures().
Definition at line 246 of file ARMTargetParser.cpp.
References FK_LAST.
ARM::NeonSupportLevel llvm::ARM::getFPUNeonSupportLevel | ( | unsigned | FPUKind | ) |
Definition at line 223 of file ARMTargetParser.cpp.
References FK_LAST.
ARM::FPURestriction llvm::ARM::getFPURestriction | ( | unsigned | FPUKind | ) |
Definition at line 258 of file ARMTargetParser.cpp.
References FK_LAST.
Definition at line 229 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 | ( | unsigned | FPUKind | ) |
Definition at line 252 of file ARMTargetParser.cpp.
References FK_LAST.
Definition at line 288 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 331 of file ARMTargetParser.cpp.
References getSubArch().
Referenced by getSubArch().
Definition at line 20750 of file ARMISelLowering.cpp.
References llvm::isShiftedMask_32().
Referenced by PerformORCombineToBFI().
bool llvm::ARM::isCDECoproc | ( | size_t | Coproc, |
const MCSubtargetInfo & | STI | ||
) |
Definition at line 631 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 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 473 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 481 of file ARMTargetParser.cpp.
References llvm::CallingConv::C, and CPUNames.
Referenced by computeDefaultTargetABI().
Definition at line 214 of file ARMTargetParser.cpp.
References F, and getFPUSynonym().
Definition at line 464 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 378 of file ARMISelLowering.h.
RegisterBankInfo::ValueMapping llvm::ARM::ValueMappings[] |
Definition at line 75 of file ARMRegisterBankInfo.cpp.
Referenced by checkValueMappings(), and llvm::ARMRegisterBankInfo::getInstrMapping().