LLVM 18.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 31 of file ARMTargetParser.h.
|
strong |
Enumerator | |
---|---|
ARM_ARCH |
Definition at line 97 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 122 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 140 of file ARMTargetParser.h.
|
strong |
Enumerator | |
---|---|
NONE | |
VFPV2 | |
VFPV3 | |
VFPV3_FP16 | |
VFPV4 | |
VFPV5 | |
VFPV5_FULLFP16 |
Definition at line 129 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 147 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 154 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 397 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 499 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 441 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 492 of file ARMTargetParser.cpp.
References CPUNames, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
unsigned llvm::ARM::getArchAttr | ( | ARM::ArchKind | AK | ) |
Definition at line 338 of file ARMTargetParser.cpp.
Referenced by llvm::jitlink::createLinkGraphFromELFObject_aarch32().
Definition at line 358 of file ARMTargetParser.cpp.
References ARCHExtNames, and stripNegationPrefix().
Definition at line 342 of file ARMTargetParser.cpp.
References ARCHExtNames.
StringRef llvm::ARM::getArchName | ( | ARM::ArchKind | AK | ) |
Definition at line 326 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 535 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 330 of file ARMTargetParser.cpp.
Definition at line 452 of file ARMTargetParser.cpp.
References CPUNames, and parseArch().
Referenced by getARMCPUForArch().
uint64_t llvm::ARM::getDefaultExtensions | ( | StringRef | CPU, |
ARM::ArchKind | AK | ||
) |
Definition at line 278 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 267 of file ARMTargetParser.cpp.
References ARMArchNames, and llvm::StringSwitch< T, R >::Default().
Referenced by appendArchExtFeatures().
Definition at line 310 of file ARMTargetParser.cpp.
References AEK_INVALID, ARCHExtNames, Extensions, and getHWDivFeatures().
bool llvm::ARM::getFPUFeatures | ( | ARM::FPUKind | FPUKind, |
std::vector< StringRef > & | Features | ||
) |
Definition at line 152 of file ARMTargetParser.cpp.
Referenced by appendArchExtFeatures().
StringRef llvm::ARM::getFPUName | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 249 of file ARMTargetParser.cpp.
References FK_LAST.
ARM::NeonSupportLevel llvm::ARM::getFPUNeonSupportLevel | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 226 of file ARMTargetParser.cpp.
References FK_LAST.
ARM::FPURestriction llvm::ARM::getFPURestriction | ( | ARM::FPUKind | FPUKind | ) |
Definition at line 261 of file ARMTargetParser.cpp.
References FK_LAST.
Definition at line 232 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 255 of file ARMTargetParser.cpp.
References FK_LAST.
Definition at line 291 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 334 of file ARMTargetParser.cpp.
References getSubArch().
Referenced by getSubArch().
Definition at line 20904 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 202 of file ARMTargetParser.h.
References assert().
ARM::ArchKind llvm::ARM::parseArch | ( | StringRef | Arch | ) |
Definition at line 31 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 476 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 147 of file ARMTargetParser.cpp.
References getCanonicalArchName(), getProfileKind(), and parseArch().
Referenced by computeDefaultTargetABI(), and parseARMArch().
Definition at line 42 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 484 of file ARMTargetParser.cpp.
References llvm::CallingConv::C, and CPUNames.
Referenced by computeDefaultTargetABI().
ARM::FPUKind llvm::ARM::parseFPU | ( | StringRef | FPU | ) |
Definition at line 217 of file ARMTargetParser.cpp.
References F, and getFPUSynonym().
Definition at line 467 of file ARMTargetParser.cpp.
References AEK_INVALID, D, getHWDivSynonym(), and HWDivNames.
Definition at line 604 of file ARMTargetParser.cpp.
References ARCHExtNames, llvm::StringMapImpl::empty(), llvm::format(), llvm::left_justify(), and llvm::outs().
Definition at line 80 of file ARMTargetParser.h.
Referenced by appendArchExtFeatures(), getArchExtFeature(), getArchExtName(), getExtensionFeatures(), parseArchExt(), and PrintSupportedExtensions().
Definition at line 194 of file ARMTargetParser.h.
Referenced by getDefaultExtensions(), and getDefaultFPU().
Definition at line 115 of file ARMTargetParser.h.
Referenced by fillValidCPUArchList(), getDefaultCPU(), and parseCPUArch().
Definition at line 168 of file ARMTargetParser.h.
Referenced by findDoublePrecisionFPU().
const struct { ... } llvm::ARM::HWDivNames[] |
Referenced by parseHWDiv().
uint64_t llvm::ARM::ID |
Definition at line 90 of file ARMTargetParser.h.
StringRef llvm::ARM::Name |
Definition at line 89 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().