LLVM  3.7.0
Namespaces | Enumerations | Functions
llvm::ARM Namespace Reference

Define some predicates that are used for node matching. More...

Namespaces

 EHABI
 
 WinEH
 

Enumerations

enum  FPUKind {
  FK_INVALID = 0, FK_NONE, FK_VFP, FK_VFPV2,
  FK_VFPV3, FK_VFPV3_FP16, FK_VFPV3_D16, FK_VFPV3_D16_FP16,
  FK_VFPV3XD, FK_VFPV3XD_FP16, FK_VFPV4, FK_VFPV4_D16,
  FK_FPV4_SP_D16, FK_FPV5_D16, FK_FPV5_SP_D16, FK_FP_ARMV8,
  FK_NEON, FK_NEON_FP16, FK_NEON_VFPV4, FK_NEON_FP_ARMV8,
  FK_CRYPTO_NEON_FP_ARMV8, FK_SOFTVFP, FK_LAST
}
 
enum  FPUVersion {
  FV_NONE = 0, FV_VFPV2, FV_VFPV3, FV_VFPV3_FP16,
  FV_VFPV4, FV_VFPV5
}
 
enum  NeonSupportLevel { NS_None = 0, NS_Neon, NS_Crypto }
 
enum  FPURestriction { FR_None = 0, FR_D16, FR_SP_D16 }
 
enum  ArchKind {
  AK_INVALID = 0, AK_ARMV2, AK_ARMV2A, AK_ARMV3,
  AK_ARMV3M, AK_ARMV4, AK_ARMV4T, AK_ARMV5T,
  AK_ARMV5TE, AK_ARMV5TEJ, AK_ARMV6, AK_ARMV6K,
  AK_ARMV6T2, AK_ARMV6Z, AK_ARMV6ZK, AK_ARMV6M,
  AK_ARMV6SM, AK_ARMV7A, AK_ARMV7R, AK_ARMV7M,
  AK_ARMV7EM, AK_ARMV8A, AK_ARMV8_1A, AK_IWMMXT,
  AK_IWMMXT2, AK_XSCALE, AK_ARMV5, AK_ARMV5E,
  AK_ARMV6J, AK_ARMV6HL, AK_ARMV7, AK_ARMV7L,
  AK_ARMV7HL, AK_ARMV7S, AK_LAST
}
 
enum  ArchExtKind {
  AEK_INVALID = 0, AEK_CRC, AEK_CRYPTO, AEK_FP,
  AEK_HWDIV, AEK_MP, AEK_SIMD, AEK_SEC,
  AEK_VIRT, AEK_OS, AEK_IWMMXT, AEK_IWMMXT2,
  AEK_MAVERICK, AEK_XSCALE, AEK_LAST
}
 
enum  ISAKind { IK_INVALID = 0, IK_ARM, IK_THUMB, IK_AARCH64 }
 
enum  EndianKind { EK_INVALID = 0, EK_LITTLE, EK_BIG }
 
enum  ProfileKind { PK_INVALID = 0, PK_A, PK_R, PK_M }
 
enum  DW_ISA { DW_ISA_ARM_thumb = 1, DW_ISA_ARM_arm = 2 }
 
enum  Fixups {
  fixup_arm_ldst_pcrel_12 = FirstTargetFixupKind, fixup_t2_ldst_pcrel_12, fixup_arm_pcrel_10_unscaled, fixup_arm_pcrel_10,
  fixup_t2_pcrel_10, fixup_thumb_adr_pcrel_10, fixup_arm_adr_pcrel_12, fixup_t2_adr_pcrel_12,
  fixup_arm_condbranch, fixup_arm_uncondbranch, fixup_t2_condbranch, fixup_t2_uncondbranch,
  fixup_arm_thumb_br, fixup_arm_uncondbl, fixup_arm_condbl, fixup_arm_blx,
  fixup_arm_thumb_bl, fixup_arm_thumb_blx, fixup_arm_thumb_cb, fixup_arm_thumb_cp,
  fixup_arm_thumb_bcc, fixup_arm_movt_hi16, fixup_arm_movw_lo16, fixup_t2_movt_hi16,
  fixup_t2_movw_lo16, LastTargetFixupKind, NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
}
 

Functions

bool isBitFieldInvertedMask (unsigned v)
 
FastISelcreateFastISel (FunctionLoweringInfo &funcInfo, const TargetLibraryInfo *libInfo)
 

Detailed Description

Define some predicates that are used for node matching.

Enumeration Type Documentation

Enumerator
AEK_INVALID 
AEK_CRC 
AEK_CRYPTO 
AEK_FP 
AEK_HWDIV 
AEK_MP 
AEK_SIMD 
AEK_SEC 
AEK_VIRT 
AEK_OS 
AEK_IWMMXT 
AEK_IWMMXT2 
AEK_MAVERICK 
AEK_XSCALE 
AEK_LAST 

Definition at line 124 of file TargetParser.h.

Enumerator
AK_INVALID 
AK_ARMV2 
AK_ARMV2A 
AK_ARMV3 
AK_ARMV3M 
AK_ARMV4 
AK_ARMV4T 
AK_ARMV5T 
AK_ARMV5TE 
AK_ARMV5TEJ 
AK_ARMV6 
AK_ARMV6K 
AK_ARMV6T2 
AK_ARMV6Z 
AK_ARMV6ZK 
AK_ARMV6M 
AK_ARMV6SM 
AK_ARMV7A 
AK_ARMV7R 
AK_ARMV7M 
AK_ARMV7EM 
AK_ARMV8A 
AK_ARMV8_1A 
AK_IWMMXT 
AK_IWMMXT2 
AK_XSCALE 
AK_ARMV5 
AK_ARMV5E 
AK_ARMV6J 
AK_ARMV6HL 
AK_ARMV7 
AK_ARMV7L 
AK_ARMV7HL 
AK_ARMV7S 
AK_LAST 

Definition at line 84 of file TargetParser.h.

Enumerator
DW_ISA_ARM_thumb 
DW_ISA_ARM_arm 

Definition at line 26 of file ARMAsmPrinter.h.

Enumerator
EK_INVALID 
EK_LITTLE 
EK_BIG 

Definition at line 153 of file TargetParser.h.

Enumerator
fixup_arm_ldst_pcrel_12 
fixup_t2_ldst_pcrel_12 
fixup_arm_pcrel_10_unscaled 
fixup_arm_pcrel_10 
fixup_t2_pcrel_10 
fixup_thumb_adr_pcrel_10 
fixup_arm_adr_pcrel_12 
fixup_t2_adr_pcrel_12 
fixup_arm_condbranch 
fixup_arm_uncondbranch 
fixup_t2_condbranch 
fixup_t2_uncondbranch 
fixup_arm_thumb_br 
fixup_arm_uncondbl 
fixup_arm_condbl 
fixup_arm_blx 
fixup_arm_thumb_bl 
fixup_arm_thumb_blx 
fixup_arm_thumb_cb 
fixup_arm_thumb_cp 
fixup_arm_thumb_bcc 
fixup_arm_movt_hi16 
fixup_arm_movw_lo16 
fixup_t2_movt_hi16 
fixup_t2_movw_lo16 
LastTargetFixupKind 
NumTargetFixupKinds 

Definition at line 17 of file ARMFixupKinds.h.

Enumerator
FK_INVALID 
FK_NONE 
FK_VFP 
FK_VFPV2 
FK_VFPV3 
FK_VFPV3_FP16 
FK_VFPV3_D16 
FK_VFPV3_D16_FP16 
FK_VFPV3XD 
FK_VFPV3XD_FP16 
FK_VFPV4 
FK_VFPV4_D16 
FK_FPV4_SP_D16 
FK_FPV5_D16 
FK_FPV5_SP_D16 
FK_FP_ARMV8 
FK_NEON 
FK_NEON_FP16 
FK_NEON_VFPV4 
FK_NEON_FP_ARMV8 
FK_CRYPTO_NEON_FP_ARMV8 
FK_SOFTVFP 
FK_LAST 

Definition at line 33 of file TargetParser.h.

Enumerator
FR_None 

No restriction.

FR_D16 

Only 16 D registers.

FR_SP_D16 

Only single-precision instructions, with 16 D registers.

Definition at line 77 of file TargetParser.h.

Enumerator
FV_NONE 
FV_VFPV2 
FV_VFPV3 
FV_VFPV3_FP16 
FV_VFPV4 
FV_VFPV5 

Definition at line 60 of file TargetParser.h.

Enumerator
IK_INVALID 
IK_ARM 
IK_THUMB 
IK_AARCH64 

Definition at line 144 of file TargetParser.h.

Enumerator
NS_None 

No Neon.

NS_Neon 

Neon.

NS_Crypto 

Neon with Crypto.

Definition at line 70 of file TargetParser.h.

Enumerator
PK_INVALID 
PK_A 
PK_R 
PK_M 

Definition at line 160 of file TargetParser.h.

Function Documentation

FastISel * llvm::ARM::createFastISel ( FunctionLoweringInfo funcInfo,
const TargetLibraryInfo libInfo 
)
bool llvm::ARM::isBitFieldInvertedMask ( unsigned  v)

Definition at line 11150 of file ARMISelLowering.cpp.

References llvm::isShiftedMask_32().

Referenced by PerformORCombine().