LLVM: lib/Target/ARM/Utils/ARMBaseInfo.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#ifndef LLVM_LIB_TARGET_ARM_UTILS_ARMBASEINFO_H

17#define LLVM_LIB_TARGET_ARM_UTILS_ARMBASEINFO_H

18

23

24namespace llvm {

25

26

28

29

30enum CondCodes {

31 EQ,

32 NE,

33 HS,

34 LO,

35 MI,

36 PL,

37 VS,

38 VC,

39 HI,

40 LS,

41 GE,

42 LT,

43 GT,

44 LE,

45 AL

46};

47

49 switch (CC) {

51 case EQ: return NE;

52 case NE: return EQ;

53 case HS: return LO;

54 case LO: return HS;

55 case MI: return PL;

56 case PL: return MI;

57 case VS: return VC;

58 case VC: return VS;

59 case HI: return LS;

60 case LS: return HI;

61 case GE: return LT;

62 case LT: return GE;

63 case GT: return LE;

64 case LE: return GT;

65 }

66}

67

68

69

70

72 switch (CC) {

84 }

85}

86}

87

95

96namespace ARM {

97

98

99

100

101

102

103

104

122}

123

124

125

126

129

131 switch (CC) {

135 }

137}

138

145

147 switch (CC) {

163 }

165}

166

188

189

190namespace ARMSysReg {

208

209#define GET_MClassSysRegsList_DECL

210#include "ARMGenSystemRegister.inc"

211

212

213

215

216

217

219

220

222

223}

224

225

231#define GET_BankedRegsList_DECL

232#include "ARMGenSystemRegister.inc"

233}

234

235}

236

237#endif

This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...

Container class for subtarget features.

StringRef - Represent a constant reference to a string, i.e.

LLVM_ABI std::string lower() const

A switch()-like statement whose cases are string literals.

StringSwitch & Case(StringLiteral S, T Value)

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

Definition ARMBaseInfo.h:27

static CondCodes getOppositeCondition(CondCodes CC)

Definition ARMBaseInfo.h:48

static ARMCC::CondCodes getSwappedCondition(ARMCC::CondCodes CC)

getSwappedCondition - assume the flags are set by MI(a,b), return the condition code if we modify the...

Definition ARMBaseInfo.h:71

CondCodes

Definition ARMBaseInfo.h:30

@ HS

Definition ARMBaseInfo.h:33

@ EQ

Definition ARMBaseInfo.h:31

@ LE

Definition ARMBaseInfo.h:44

@ LS

Definition ARMBaseInfo.h:40

@ LT

Definition ARMBaseInfo.h:42

@ HI

Definition ARMBaseInfo.h:39

@ GE

Definition ARMBaseInfo.h:41

@ LO

Definition ARMBaseInfo.h:34

@ PL

Definition ARMBaseInfo.h:36

@ AL

Definition ARMBaseInfo.h:45

@ VS

Definition ARMBaseInfo.h:37

@ GT

Definition ARMBaseInfo.h:43

@ VC

Definition ARMBaseInfo.h:38

@ NE

Definition ARMBaseInfo.h:32

@ MI

Definition ARMBaseInfo.h:35

const MClassSysReg * lookupMClassSysRegBy8bitSYSmValue(unsigned SYSm)

const MClassSysReg * lookupMClassSysRegAPSRNonDeprecated(unsigned SYSm)

const MClassSysReg * lookupMClassSysRegBy12bitSYSmValue(unsigned SYSm)

Definition ARMBaseInfo.h:88

VPTCodes

Definition ARMBaseInfo.h:89

@ Else

Definition ARMBaseInfo.h:92

@ Then

Definition ARMBaseInfo.h:91

@ None

Definition ARMBaseInfo.h:90

PredBlockMask

Mask values for IT and VPT Blocks, to be used by MCOperands.

Definition ARMBaseInfo.h:105

@ TETE

Definition ARMBaseInfo.h:120

@ TTTE

Definition ARMBaseInfo.h:114

@ TET

Definition ARMBaseInfo.h:112

@ TEET

Definition ARMBaseInfo.h:118

@ TTTT

Definition ARMBaseInfo.h:113

@ TETT

Definition ARMBaseInfo.h:119

@ TE

Definition ARMBaseInfo.h:108

@ TEE

Definition ARMBaseInfo.h:111

@ T

Definition ARMBaseInfo.h:106

@ TTT

Definition ARMBaseInfo.h:109

@ TT

Definition ARMBaseInfo.h:107

@ TTEE

Definition ARMBaseInfo.h:115

@ TTET

Definition ARMBaseInfo.h:116

@ TEEE

Definition ARMBaseInfo.h:117

@ TTE

Definition ARMBaseInfo.h:110

This is an optimization pass for GlobalISel generic memory operations.

static const char * ARMVPTPredToString(ARMVCC::VPTCodes CC)

Definition ARMBaseInfo.h:130

static unsigned ARMCondCodeFromString(StringRef CC)

Definition ARMBaseInfo.h:167

ARM::PredBlockMask expandPredBlockMask(ARM::PredBlockMask BlockMask, ARMVCC::VPTCodes Kind)

static unsigned ARMVectorCondCodeFromString(StringRef CC)

Definition ARMBaseInfo.h:139

static const char * ARMCondCodeToString(ARMCC::CondCodes CC)

Definition ARMBaseInfo.h:146

Definition ARMBaseInfo.h:227

uint16_t Encoding

Definition ARMBaseInfo.h:229

const char * Name

Definition ARMBaseInfo.h:228

Definition ARMBaseInfo.h:191

FeatureBitset FeaturesRequired

Definition ARMBaseInfo.h:196

uint16_t Encoding

Definition ARMBaseInfo.h:195

const char Name[32]

Definition ARMBaseInfo.h:192

bool isInRequiredFeatures(FeatureBitset TestFeatures) const

Definition ARMBaseInfo.h:204

bool hasRequiredFeatures(FeatureBitset ActiveFeatures) const

Definition ARMBaseInfo.h:199

uint16_t M2M3Encoding8

Definition ARMBaseInfo.h:194

uint16_t M1Encoding12

Definition ARMBaseInfo.h:193