LLVM: lib/Target/AArch64/Utils/AArch64BaseInfo.h File Reference (original) (raw)

Go to the source code of this file.

Classes
struct llvm::SysAlias
struct llvm::SysAliasReg
struct llvm::SysAliasOptionalReg
struct llvm::SysAliasImm
struct llvm::AArch64SVCR::SVCR
struct llvm::AArch64AT::AT
struct llvm::AArch64DB::DB
struct llvm::AArch64DBnXS::DBnXS
struct llvm::AArch64DC::DC
struct llvm::AArch64IC::IC
struct llvm::AArch64ISB::ISB
struct llvm::AArch64TSB::TSB
struct llvm::AArch64PRFM::PRFM
struct llvm::AArch64SVEPRFM::SVEPRFM
struct llvm::AArch64RPRFM::RPRFM
struct llvm::AArch64SVEPredPattern::SVEPREDPAT
struct llvm::AArch64SVEVecLenSpecifier::SVEVECLENSPECIFIER
struct llvm::AArch64ExactFPImm::ExactFPImm
struct llvm::AArch64PState::PStateImm0_15
struct llvm::AArch64PState::PStateImm0_1
struct llvm::AArch64PSBHint::PSB
struct llvm::AArch64PHint::PHint
struct llvm::AArch64BTIHint::BTI
struct llvm::AArch64CMHPriorityHint::CMHPriorityHint
struct llvm::AArch64TIndexHint::TIndex
struct llvm::AArch64SysReg::SysReg
struct llvm::AArch64TLBI::TLBI
struct llvm::AArch64TLBIP::TLBIP
struct llvm::AArch64MLBI::MLBI
struct llvm::AArch64GIC::GIC
struct llvm::AArch64GICR::GICR
struct llvm::AArch64GSB::GSB
struct llvm::AArch64PLBI::PLBI
Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::AArch64CC
namespace llvm::AArch64SVCR
namespace llvm::AArch64AT
namespace llvm::AArch64DB
namespace llvm::AArch64DBnXS
namespace llvm::AArch64DC
namespace llvm::AArch64IC
namespace llvm::AArch64ISB
namespace llvm::AArch64TSB
namespace llvm::AArch64PRFM
namespace llvm::AArch64SVEPRFM
namespace llvm::AArch64RPRFM
namespace llvm::AArch64SVEPredPattern
namespace llvm::AArch64SVEVecLenSpecifier
namespace llvm::AArch64ExactFPImm
namespace llvm::AArch64PState
namespace llvm::AArch64PSBHint
namespace llvm::AArch64PHint
namespace llvm::AArch64BTIHint
namespace llvm::AArch64CMHPriorityHint
namespace llvm::AArch64TIndexHint
namespace llvm::AArch64SME
namespace llvm::AArch64SE
namespace llvm::AArch64Layout
namespace llvm::AArch64SysReg
namespace llvm::AArch64TLBI
namespace llvm::AArch64TLBIP
namespace llvm::AArch64MLBI
namespace llvm::AArch64GIC
namespace llvm::AArch64GICR
namespace llvm::AArch64GSB
namespace llvm::AArch64PLBI
namespace llvm::AArch64II
namespace llvm::AArch64PACKey
namespace llvm::AArch64
Macros
#define GET_SVCRValues_DECL
#define GET_SVCRsList_DECL
#define GET_ATValues_DECL
#define GET_ATsList_DECL
#define GET_DBValues_DECL
#define GET_DBsList_DECL
#define GET_DBnXSValues_DECL
#define GET_DBnXSsList_DECL
#define GET_DCValues_DECL
#define GET_DCsList_DECL
#define GET_ICValues_DECL
#define GET_ICsList_DECL
#define GET_ISBValues_DECL
#define GET_ISBsList_DECL
#define GET_TSBValues_DECL
#define GET_TSBsList_DECL
#define GET_PRFMValues_DECL
#define GET_PRFMsList_DECL
#define GET_SVEPRFMValues_DECL
#define GET_SVEPRFMsList_DECL
#define GET_RPRFMValues_DECL
#define GET_RPRFMsList_DECL
#define GET_SVEPREDPATValues_DECL
#define GET_SVEPREDPATsList_DECL
#define GET_SVEVECLENSPECIFIERValues_DECL
#define GET_SVEVECLENSPECIFIERsList_DECL
#define GET_ExactFPImmValues_DECL
#define GET_ExactFPImmsList_DECL
#define GET_PStateImm0_15Values_DECL
#define GET_PStateImm0_15sList_DECL
#define GET_PStateImm0_1Values_DECL
#define GET_PStateImm0_1sList_DECL
#define GET_PSBValues_DECL
#define GET_PSBsList_DECL
#define GET_PHintValues_DECL
#define GET_PHintsList_DECL
#define GET_BTIValues_DECL
#define GET_BTIsList_DECL
#define GET_CMHPRIORITYHINT_DECL
#define GET_TINDEX_DECL
#define GET_SysRegsList_DECL
#define GET_SysRegValues_DECL
#define GET_TLBITable_DECL
#define GET_TLBIPTable_DECL
#define GET_MLBITable_DECL
#define GET_GICTable_DECL
#define GET_GICRTable_DECL
#define GET_GSBTable_DECL
#define GET_PLBITable_DECL
Enumerations
enum llvm::AArch64CC::CondCode { llvm::AArch64CC::EQ = 0x0 , llvm::AArch64CC::NE = 0x1 , llvm::AArch64CC::HS = 0x2 , llvm::AArch64CC::LO = 0x3 , llvm::AArch64CC::MI = 0x4 , llvm::AArch64CC::PL = 0x5 , llvm::AArch64CC::VS = 0x6 , llvm::AArch64CC::VC = 0x7 , llvm::AArch64CC::HI = 0x8 , llvm::AArch64CC::LS = 0x9 , llvm::AArch64CC::GE = 0xa , llvm::AArch64CC::LT = 0xb , llvm::AArch64CC::GT = 0xc , llvm::AArch64CC::LE = 0xd , llvm::AArch64CC::AL = 0xe , llvm::AArch64CC::NV = 0xf , llvm::AArch64CC::Invalid, llvm::AArch64CC::ANY_ACTIVE = NE , llvm::AArch64CC::FIRST_ACTIVE = MI , llvm::AArch64CC::LAST_ACTIVE = LO , llvm::AArch64CC::NONE_ACTIVE = EQ }
enum class llvm::TailFoldingOpts : uint8_t { llvm::Disabled = 0x00 , llvm::Simple = 0x01 , llvm::Reductions = 0x02 , llvm::Recurrences = 0x04 , llvm::Reverse = 0x08 , llvm::All = Reductions | Recurrences Simple Reverse }
An enum to describe what types of loops we should attempt to tail-fold: Disabled: None Reductions: Loops containing reductions Recurrences: Loops with first-order recurrences, i.e. More...
enum llvm::AArch64SME::ToggleCondition : unsigned { llvm::AArch64SME::Always, llvm::AArch64SME::IfCallerIsStreaming, llvm::AArch64SME::IfCallerIsNonStreaming }
enum llvm::AArch64SE::ShiftExtSpecifiers { llvm::AArch64SE::Invalid = -1 , llvm::AArch64SE::LSL, llvm::AArch64SE::MSL, llvm::AArch64SE::LSR, llvm::AArch64SE::ASR, llvm::AArch64SE::ROR, llvm::AArch64SE::UXTB, llvm::AArch64SE::UXTH, llvm::AArch64SE::UXTW, llvm::AArch64SE::UXTX, llvm::AArch64SE::SXTB, llvm::AArch64SE::SXTH, llvm::AArch64SE::SXTW, llvm::AArch64SE::SXTX }
enum llvm::AArch64Layout::VectorLayout { llvm::AArch64Layout::Invalid = -1 , llvm::AArch64Layout::VL_8B, llvm::AArch64Layout::VL_4H, llvm::AArch64Layout::VL_2S, llvm::AArch64Layout::VL_1D, llvm::AArch64Layout::VL_16B, llvm::AArch64Layout::VL_8H, llvm::AArch64Layout::VL_4S, llvm::AArch64Layout::VL_2D, llvm::AArch64Layout::VL_B, llvm::AArch64Layout::VL_H, llvm::AArch64Layout::VL_S, llvm::AArch64Layout::VL_D }
enum llvm::AArch64II::TOF { llvm::AArch64II::MO_NO_FLAG, llvm::AArch64II::MO_FRAGMENT = 0x7 , llvm::AArch64II::MO_PAGE = 1 , llvm::AArch64II::MO_PAGEOFF = 2 , llvm::AArch64II::MO_G3 = 3 , llvm::AArch64II::MO_G2 = 4 , llvm::AArch64II::MO_G1 = 5 , llvm::AArch64II::MO_G0 = 6 , llvm::AArch64II::MO_HI12 = 7 , llvm::AArch64II::MO_COFFSTUB = 0x8 , llvm::AArch64II::MO_GOT = 0x10 , llvm::AArch64II::MO_NC = 0x20 , llvm::AArch64II::MO_TLS = 0x40 , llvm::AArch64II::MO_DLLIMPORT = 0x80 , llvm::AArch64II::MO_S = 0x100 , llvm::AArch64II::MO_PREL = 0x200 , llvm::AArch64II::MO_TAGGED = 0x400 , llvm::AArch64II::MO_ARM64EC_CALLMANGLE = 0x800 }
Target Operand Flag enum. More...
enum llvm::AArch64PACKey::ID : uint8_t { llvm::AArch64PACKey::IA = 0 , llvm::AArch64PACKey::IB = 1 , llvm::AArch64PACKey::DA = 2 , llvm::AArch64PACKey::DB = 3 , llvm::AArch64PACKey::LAST = DB }
Functions
static MCRegister llvm::getWRegFromXReg (MCRegister Reg)
static MCRegister llvm::getXRegFromWReg (MCRegister Reg)
static MCRegister llvm::getXRegFromXRegTuple (MCRegister RegTuple)
static MCRegister llvm::getBRegFromDReg (MCRegister Reg)
static MCRegister llvm::getDRegFromBReg (MCRegister Reg)
static bool llvm::atomicBarrierDroppedOnZero (unsigned Opcode)
static const char * llvm::AArch64CC::getCondCodeName (CondCode Code)
static CondCode llvm::AArch64CC::getInvertedCondCode (CondCode Code)
static CondCode llvm::AArch64CC::getSwappedCondition (CondCode CC)
getSwappedCondition - assume the flags are set by MI(a,b), return the condition code if we modify the instructions such that flags are set by MI(b,a).
static unsigned llvm::AArch64CC::getNZCVToSatisfyCondCode (CondCode Code)
Given a condition code, return NZCV flags that would satisfy that condition.
static bool llvm::AArch64CC::isValidCBCond (AArch64CC::CondCode Code)
True, if a given condition code can be used in a fused compare-and-branch instructions, false otherwise.
unsigned llvm::getNumElementsFromSVEPredPattern (unsigned Pattern)
Return the number of active elements for VL1 to VL256 predicate pattern, zero for all other patterns.
std::optional< unsigned > llvm::getSVEPredPatternFromNumElements (unsigned MinNumElts)
Return specific VL predicate pattern based on the number of elements.
llvm::LLVM_DECLARE_ENUM_AS_BITMASK (TailFoldingOpts,(long) TailFoldingOpts::Reverse)
const PHint * llvm::AArch64PHint::lookupPHintByName (StringRef)
const PHint * llvm::AArch64PHint::lookupPHintByEncoding (uint16_t)
static const char * llvm::AArch64VectorLayoutToString (AArch64Layout::VectorLayout Layout)
static AArch64Layout::VectorLayout llvm::AArch64StringToVectorLayout (StringRef LayoutStr)
uint32_t llvm::AArch64SysReg::parseGenericRegister (StringRef Name)
std::string llvm::AArch64SysReg::genericRegisterString (uint32_t Bits)
static StringRef llvm::AArch64PACKeyIDToString (AArch64PACKey::ID KeyID)
Return 2-letter identifier string for numeric key ID.
static std::optional< AArch64PACKey::ID > llvm::AArch64StringToPACKeyID (StringRef Name)
Return numeric key ID for 2-letter identifier string.
static unsigned llvm::getBTIHintNum (bool CallTarget, bool JumpTarget)

GET_ATsList_DECL

GET_ATValues_DECL

#define GET_ATValues_DECL

GET_BTIsList_DECL

#define GET_BTIsList_DECL

GET_BTIValues_DECL

#define GET_BTIValues_DECL

GET_CMHPRIORITYHINT_DECL

#define GET_CMHPRIORITYHINT_DECL

GET_DBnXSsList_DECL

#define GET_DBnXSsList_DECL

GET_DBnXSValues_DECL

#define GET_DBnXSValues_DECL

GET_DBsList_DECL

GET_DBValues_DECL

#define GET_DBValues_DECL

GET_DCsList_DECL

GET_DCValues_DECL

#define GET_DCValues_DECL

GET_ExactFPImmsList_DECL

#define GET_ExactFPImmsList_DECL

GET_ExactFPImmValues_DECL

#define GET_ExactFPImmValues_DECL

GET_GICRTable_DECL

#define GET_GICRTable_DECL

GET_GICTable_DECL

#define GET_GICTable_DECL

GET_GSBTable_DECL

#define GET_GSBTable_DECL

GET_ICsList_DECL

GET_ICValues_DECL

#define GET_ICValues_DECL

GET_ISBsList_DECL

#define GET_ISBsList_DECL

GET_ISBValues_DECL

#define GET_ISBValues_DECL

GET_MLBITable_DECL

#define GET_MLBITable_DECL

GET_PHintsList_DECL

#define GET_PHintsList_DECL

GET_PHintValues_DECL

#define GET_PHintValues_DECL

GET_PLBITable_DECL

#define GET_PLBITable_DECL

GET_PRFMsList_DECL

#define GET_PRFMsList_DECL

GET_PRFMValues_DECL

#define GET_PRFMValues_DECL

GET_PSBsList_DECL

#define GET_PSBsList_DECL

GET_PSBValues_DECL

#define GET_PSBValues_DECL

GET_PStateImm0_15sList_DECL

#define GET_PStateImm0_15sList_DECL

GET_PStateImm0_15Values_DECL

#define GET_PStateImm0_15Values_DECL

GET_PStateImm0_1sList_DECL

#define GET_PStateImm0_1sList_DECL

GET_PStateImm0_1Values_DECL

#define GET_PStateImm0_1Values_DECL

GET_RPRFMsList_DECL

#define GET_RPRFMsList_DECL

GET_RPRFMValues_DECL

#define GET_RPRFMValues_DECL

GET_SVCRsList_DECL

#define GET_SVCRsList_DECL

GET_SVCRValues_DECL

#define GET_SVCRValues_DECL

GET_SVEPREDPATsList_DECL

#define GET_SVEPREDPATsList_DECL

GET_SVEPREDPATValues_DECL

#define GET_SVEPREDPATValues_DECL

GET_SVEPRFMsList_DECL

#define GET_SVEPRFMsList_DECL

GET_SVEPRFMValues_DECL

#define GET_SVEPRFMValues_DECL

GET_SVEVECLENSPECIFIERsList_DECL

#define GET_SVEVECLENSPECIFIERsList_DECL

GET_SVEVECLENSPECIFIERValues_DECL

#define GET_SVEVECLENSPECIFIERValues_DECL

GET_SysRegsList_DECL

#define GET_SysRegsList_DECL

GET_SysRegValues_DECL

#define GET_SysRegValues_DECL

GET_TINDEX_DECL

GET_TLBIPTable_DECL

#define GET_TLBIPTable_DECL

GET_TLBITable_DECL

#define GET_TLBITable_DECL

GET_TSBsList_DECL

#define GET_TSBsList_DECL

GET_TSBValues_DECL

#define GET_TSBValues_DECL