LLVM 19.0.0git
Classes | Enumerations | Functions | Variables
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
}
 
enum class  ArchKind { LOONGARCH_ARCH }
 
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_tls_le_hi20 ,
  fixup_loongarch_tls_le_lo12 , fixup_loongarch_tls_le64_lo20 , fixup_loongarch_tls_le64_hi12 , fixup_loongarch_invalid ,
  NumTargetFixupKinds = fixup_loongarch_invalid - FirstTargetFixupKind , fixup_loongarch_pcala_hi20 , fixup_loongarch_pcala_lo12 , fixup_loongarch_pcala64_lo20 ,
  fixup_loongarch_pcala64_hi12 , fixup_loongarch_got_pc_hi20 , fixup_loongarch_got_pc_lo12 , fixup_loongarch_got64_pc_lo20 ,
  fixup_loongarch_got64_pc_hi12 , fixup_loongarch_got_hi20 , fixup_loongarch_got_lo12 , fixup_loongarch_got64_lo20 ,
  fixup_loongarch_got64_hi12 , fixup_loongarch_tls_ie_pc_hi20 , fixup_loongarch_tls_ie_pc_lo12 , fixup_loongarch_tls_ie64_pc_lo20 ,
  fixup_loongarch_tls_ie64_pc_hi12 , fixup_loongarch_tls_ie_hi20 , fixup_loongarch_tls_ie_lo12 , fixup_loongarch_tls_ie64_lo20 ,
  fixup_loongarch_tls_ie64_hi12 , fixup_loongarch_tls_ld_pc_hi20 , fixup_loongarch_tls_ld_hi20 , fixup_loongarch_tls_gd_pc_hi20 ,
  fixup_loongarch_tls_gd_hi20 , fixup_loongarch_relax = FirstLiteralRelocationKind + ELF::R_LARCH_RELAX , fixup_loongarch_align = FirstLiteralRelocationKind + ELF::R_LARCH_ALIGN , fixup_loongarch_call36 = FirstLiteralRelocationKind + ELF::R_LARCH_CALL36
}
 

Functions

bool isValidArchName (StringRef Arch)
 
bool getArchFeatures (StringRef Arch, std::vector< StringRef > &Features)
 
bool isValidCPUName (StringRef TuneCPU)
 
void fillValidCPUList (SmallVectorImpl< StringRef > &Values)
 
StringRef getDefaultArch (bool Is64Bit)
 

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
Enumerator
LOONGARCH_ARCH 

Definition at line 56 of file LoongArchTargetParser.h.

◆ FeatureKind

Enumerator
FK_64BIT 
FK_FP32 
FK_FP64 
FK_LSX 
FK_LASX 
FK_LBT 
FK_LVZ 
FK_UAL 

Definition at line 25 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_tls_le_hi20 
fixup_loongarch_tls_le_lo12 
fixup_loongarch_tls_le64_lo20 
fixup_loongarch_tls_le64_hi12 
fixup_loongarch_invalid 
NumTargetFixupKinds 
fixup_loongarch_pcala_hi20 
fixup_loongarch_pcala_lo12 
fixup_loongarch_pcala64_lo20 
fixup_loongarch_pcala64_hi12 
fixup_loongarch_got_pc_hi20 
fixup_loongarch_got_pc_lo12 
fixup_loongarch_got64_pc_lo20 
fixup_loongarch_got64_pc_hi12 
fixup_loongarch_got_hi20 
fixup_loongarch_got_lo12 
fixup_loongarch_got64_lo20 
fixup_loongarch_got64_hi12 
fixup_loongarch_tls_ie_pc_hi20 
fixup_loongarch_tls_ie_pc_lo12 
fixup_loongarch_tls_ie64_pc_lo20 
fixup_loongarch_tls_ie64_pc_hi12 
fixup_loongarch_tls_ie_hi20 
fixup_loongarch_tls_ie_lo12 
fixup_loongarch_tls_ie64_lo20 
fixup_loongarch_tls_ie64_hi12 
fixup_loongarch_tls_ld_pc_hi20 
fixup_loongarch_tls_ld_hi20 
fixup_loongarch_tls_gd_pc_hi20 
fixup_loongarch_tls_gd_hi20 
fixup_loongarch_relax 
fixup_loongarch_align 
fixup_loongarch_call36 

Definition at line 24 of file LoongArchFixupKinds.h.

Function Documentation

◆ fillValidCPUList()

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

Definition at line 52 of file LoongArchTargetParser.cpp.

References A, AllArchs, and llvm::SmallVectorImpl< T >::emplace_back().

◆ getArchFeatures()

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

Definition at line 37 of file LoongArchTargetParser.cpp.

References A, AllArchs, AllFeatures, and F.

◆ getDefaultArch()

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

Definition at line 57 of file LoongArchTargetParser.cpp.

◆ isValidArchName()

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

Definition at line 30 of file LoongArchTargetParser.cpp.

References A, and AllArchs.

Referenced by isValidCPUName().

◆ isValidCPUName()

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

Definition at line 50 of file LoongArchTargetParser.cpp.

References isValidArchName(), and Name.

Variable Documentation

◆ FClassMaskNegativeInfinity

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

Definition at line 96 of file LoongArchInstrInfo.h.

◆ FClassMaskNegativeNormal

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

Definition at line 97 of file LoongArchInstrInfo.h.

◆ FClassMaskNegativeSubnormal

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

Definition at line 98 of file LoongArchInstrInfo.h.

◆ FClassMaskNegativeZero

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

Definition at line 99 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveInfinity

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

Definition at line 100 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveNormal

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

Definition at line 101 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveSubnormal

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

Definition at line 102 of file LoongArchInstrInfo.h.

◆ FClassMaskPositiveZero

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

Definition at line 103 of file LoongArchInstrInfo.h.

◆ FClassMaskQuietNaN

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

Definition at line 95 of file LoongArchInstrInfo.h.

◆ FClassMaskSignalingNaN

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

Definition at line 94 of file LoongArchInstrInfo.h.