LLVM 22.0.0git
llvm::LoongArch Namespace Reference

Classes

struct  ArchInfo
struct  FeatureInfo

Enumerations

enum  FeatureKind : uint32_t {
  FK_64BIT = 1 << 1 , FK_FP32 = 1 << 2 , FK_FP64 = 1 << 3 , FK_LSX = 1 << 4 ,
  FK_LASX = 1 << 5 , FK_LBT = 1 << 6 , FK_LVZ = 1 << 7 , FK_UAL = 1 << 8 ,
  FK_FRECIPE = 1 << 9 , FK_LAM_BH = 1 << 10 , FK_LAMCAS = 1 << 11 , FK_LD_SEQ_SA = 1 << 12 ,
  FK_DIV32 = 1 << 13 , FK_SCQ = 1 << 14
}
enum class  ArchKind
enum  Fixups {
  fixup_loongarch_b16 = FirstTargetFixupKind , fixup_loongarch_b21 , fixup_loongarch_b26 , fixup_loongarch_abs_hi20 ,
  fixup_loongarch_abs_lo12 , fixup_loongarch_abs64_lo20 , fixup_loongarch_abs64_hi12 , fixup_loongarch_invalid ,
  NumTargetFixupKinds = fixup_loongarch_invalid - FirstTargetFixupKind
}

Functions

LLVM_ABI bool isValidArchName (StringRef Arch)
LLVM_ABI bool isValidFeatureName (StringRef Feature)
LLVM_ABI bool getArchFeatures (StringRef Arch, std::vector< StringRef > &Features)
LLVM_ABI bool isValidCPUName (StringRef TuneCPU)
LLVM_ABI void fillValidCPUList (SmallVectorImpl< StringRef > &Values)
LLVM_ABI StringRef getDefaultArch (bool Is64Bit)
bool isSEXT_W (const MachineInstr &MI)
uint16_t parseSpecifier (StringRef name)

Variables

static constexpr unsigned FClassMaskSignalingNaN = 0x001
static constexpr unsigned FClassMaskQuietNaN = 0x002
static constexpr unsigned FClassMaskNegativeInfinity = 0x004
static constexpr unsigned FClassMaskNegativeNormal = 0x008
static constexpr unsigned FClassMaskNegativeSubnormal = 0x010
static constexpr unsigned FClassMaskNegativeZero = 0x020
static constexpr unsigned FClassMaskPositiveInfinity = 0x040
static constexpr unsigned FClassMaskPositiveNormal = 0x080
static constexpr unsigned FClassMaskPositiveSubnormal = 0x100
static constexpr unsigned FClassMaskPositiveZero = 0x200

Enumeration Type Documentation

◆ ArchKind

enum class llvm::LoongArch::ArchKind
strong

Definition at line 77 of file LoongArchTargetParser.h.

◆ FeatureKind

Enumerator
FK_64BIT 
FK_FP32 
FK_FP64 
FK_LSX 
FK_LASX 
FK_LBT 
FK_LVZ 
FK_UAL 
FK_FRECIPE 
FK_LAM_BH 
FK_LAMCAS 
FK_LD_SEQ_SA 
FK_DIV32 
FK_SCQ 

Definition at line 26 of file LoongArchTargetParser.h.

◆ Fixups

Enumerator
fixup_loongarch_b16 
fixup_loongarch_b21 
fixup_loongarch_b26 
fixup_loongarch_abs_hi20 
fixup_loongarch_abs_lo12 
fixup_loongarch_abs64_lo20 
fixup_loongarch_abs64_hi12 
fixup_loongarch_invalid 
NumTargetFixupKinds 

Definition at line 21 of file LoongArchFixupKinds.h.

Function Documentation

◆ fillValidCPUList()

void llvm::LoongArch::fillValidCPUList ( SmallVectorImpl< StringRef > & Values)

◆ getArchFeatures()

bool llvm::LoongArch::getArchFeatures ( StringRef Arch,
std::vector< StringRef > & Features )

Definition at line 50 of file LoongArchTargetParser.cpp.

References A(), AllArchs, AllFeatures, and F.

◆ getDefaultArch()

StringRef llvm::LoongArch::getDefaultArch ( bool Is64Bit)

Definition at line 87 of file LoongArchTargetParser.cpp.

◆ isSEXT_W()

bool llvm::LoongArch::isSEXT_W ( const MachineInstr & MI)

Definition at line 760 of file LoongArchInstrInfo.cpp.

References MI.

◆ isValidArchName()

bool llvm::LoongArch::isValidArchName ( StringRef Arch)

Definition at line 31 of file LoongArchTargetParser.cpp.

References A(), and AllArchs.

Referenced by isValidCPUName().

◆ isValidCPUName()

bool llvm::LoongArch::isValidCPUName ( StringRef TuneCPU)

Definition at line 80 of file LoongArchTargetParser.cpp.

References isValidArchName().

◆ isValidFeatureName()

bool llvm::LoongArch::isValidFeatureName ( StringRef Feature)

Definition at line 38 of file LoongArchTargetParser.cpp.

References AllFeatures, F, and llvm::StringRef::starts_with().

◆ parseSpecifier()

LoongArchMCExpr::Specifier llvm::LoongArch::parseSpecifier ( StringRef name)

Variable Documentation

◆ FClassMaskNegativeInfinity

unsigned llvm::LoongArch::FClassMaskNegativeInfinity = 0x004
staticconstexpr

Definition at line 108 of file LoongArchInstrInfo.h.

◆ FClassMaskNegativeNormal

unsigned llvm::LoongArch::FClassMaskNegativeNormal = 0x008
staticconstexpr

Definition at line 109 of file LoongArchInstrInfo.h.

◆ FClassMaskNegativeSubnormal

unsigned llvm::LoongArch::FClassMaskNegativeSubnormal = 0x010
staticconstexpr

Definition at line 110 of file LoongArchInstrInfo.h.

◆ FClassMaskNegativeZero

unsigned llvm::LoongArch::FClassMaskNegativeZero = 0x020
staticconstexpr

Definition at line 111 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveInfinity

unsigned llvm::LoongArch::FClassMaskPositiveInfinity = 0x040
staticconstexpr

Definition at line 112 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveNormal

unsigned llvm::LoongArch::FClassMaskPositiveNormal = 0x080
staticconstexpr

Definition at line 113 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveSubnormal

unsigned llvm::LoongArch::FClassMaskPositiveSubnormal = 0x100
staticconstexpr

Definition at line 114 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveZero

unsigned llvm::LoongArch::FClassMaskPositiveZero = 0x200
staticconstexpr

Definition at line 115 of file LoongArchInstrInfo.h.

◆ FClassMaskQuietNaN

unsigned llvm::LoongArch::FClassMaskQuietNaN = 0x002
staticconstexpr

Definition at line 107 of file LoongArchInstrInfo.h.

◆ FClassMaskSignalingNaN

unsigned llvm::LoongArch::FClassMaskSignalingNaN = 0x001
staticconstexpr

Definition at line 106 of file LoongArchInstrInfo.h.