LLVM: include/llvm/Object/GOFF.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_OBJECT_GOFF_H

15#define LLVM_OBJECT_GOFF_H

16

23

24namespace llvm {

26

27

28

29

30

32public:

35

39 return IsContinued;

40 }

41

45 return IsContinuation;

46 }

47

48protected:

49

50

51

52

53

54

55

56

57

61 assert(BitIndex < 8 && "Bit index out of bounds!");

62 assert(Length + BitIndex <= 8 && "Bit length too long!");

63

66 }

67

68 template

71 "Byte index out of bounds!");

73 }

74};

75

77public:

78

80

82

86

90

94};

95

106

108public:

109

110

111

113

114

115

116

117

119

120public:

122

123

130

134

138

142

146

152

158

164

170

176

180

184

188

194

200

206

213

220

226

233

240

247

254

260

267

274

281

287};

288

299

300}

301}

302

303#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

This file defines the SmallString class.

This file defines the SmallVector class.

Lightweight error class with error context and mandatory checking.

SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...

The instances of the Type class are immutable: once they are created, they are never changed.

LLVM Value Representation.

static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)

static uint16_t getNameLength(const uint8_t *Record)

Definition GOFF.h:293

static void getIndirectReference(const uint8_t *Record, bool &Indirect)

Definition GOFF.h:255

static void getBindingStrength(const uint8_t *Record, GOFF::ESDBindingStrength &Strength)

Definition GOFF.h:241

static void getOffset(const uint8_t *Record, uint32_t &Offset)

Definition GOFF.h:139

static void getDuplicateSeverity(const uint8_t *Record, GOFF::ESDDuplicateSymbolSeverity &DSS)

Definition GOFF.h:234

static void getEsdId(const uint8_t *Record, uint32_t &EsdId)

Definition GOFF.h:131

static void getLoadingBehavior(const uint8_t *Record, GOFF::ESDLoadingBehavior &Behavior)

Definition GOFF.h:248

static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)

static void getNameMangled(const uint8_t *Record, bool &Mangled)

Definition GOFF.h:159

static void getTaskingBehavior(const uint8_t *Record, GOFF::ESDTaskingBehavior &TaskingBehavior)

Definition GOFF.h:214

static void getFillBytePresent(const uint8_t *Record, bool &Present)

Definition GOFF.h:153

static void getLength(const uint8_t *Record, uint32_t &Length)

Definition GOFF.h:143

static void getAdaEsdId(const uint8_t *Record, uint32_t &EsdId)

Definition GOFF.h:181

static void getBindingAlgorithm(const uint8_t *Record, GOFF::ESDBindingAlgorithm &Algorithm)

Definition GOFF.h:207

static void getAmode(const uint8_t *Record, GOFF::ESDAmode &Amode)

Definition GOFF.h:189

static const uint16_t MaxNameLength

Maximum name length for ESD records and continuations.

Definition GOFF.h:118

static void getReadOnly(const uint8_t *Record, bool &ReadOnly)

Definition GOFF.h:221

static void getRmode(const uint8_t *Record, GOFF::ESDRmode &Rmode)

Definition GOFF.h:195

static void getSortPriority(const uint8_t *Record, uint32_t &Priority)

Definition GOFF.h:185

static void getParentEsdId(const uint8_t *Record, uint32_t &EsdId)

Definition GOFF.h:135

static void getFillByteValue(const uint8_t *Record, uint8_t &Fill)

Definition GOFF.h:177

static void getSymbolType(const uint8_t *Record, GOFF::ESDSymbolType &SymbolType)

Definition GOFF.h:124

static void getTextStyle(const uint8_t *Record, GOFF::ESDTextStyle &Style)

Definition GOFF.h:201

static void getAlignment(const uint8_t *Record, GOFF::ESDAlignment &Alignment)

Definition GOFF.h:275

static void getLinkageType(const uint8_t *Record, GOFF::ESDLinkageType &Type)

Definition GOFF.h:268

static const uint8_t ESDMaxUncontinuedNameLength

Number of bytes for name; any more must go in continuation.

Definition GOFF.h:112

static uint16_t getNameLength(const uint8_t *Record)

Definition GOFF.h:282

static void getExecutable(const uint8_t *Record, GOFF::ESDExecutable &Executable)

Definition GOFF.h:227

static void getBindingScope(const uint8_t *Record, GOFF::ESDBindingScope &Scope)

Definition GOFF.h:261

static void getNameSpaceId(const uint8_t *Record, GOFF::ESDNameSpaceId &Id)

Definition GOFF.h:147

static void getRemovable(const uint8_t *Record, bool &Removable)

Definition GOFF.h:171

static void getRenamable(const uint8_t *Record, bool &Renamable)

Definition GOFF.h:165

static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)

static uint16_t getPropertyModuleLength(const uint8_t *Record)

Definition GOFF.h:100

Represents a GOFF physical record.

Definition GOFF.h:31

static void getBits(const uint8_t *Bytes, uint8_t ByteIndex, uint8_t BitIndex, uint8_t Length, uint8_t &Value)

Get bit field of specified byte.

Definition GOFF.h:58

static bool isContinued(const uint8_t *Record)

Definition GOFF.h:36

static Error getContinuousData(const uint8_t *Record, uint16_t DataLength, int DataIndex, SmallString< 256 > &CompleteData)

static void get(const uint8_t *Bytes, uint8_t ByteIndex, T &Value)

Definition GOFF.h:69

static bool isContinuation(const uint8_t *Record)

Definition GOFF.h:42

static void getElementEsdId(const uint8_t *Record, uint32_t &EsdId)

Definition GOFF.h:83

static const uint8_t TXTMaxDataLength

Maximum length of data; any more must go in continuation.

Definition GOFF.h:79

static void getDataLength(const uint8_t *Record, uint16_t &Length)

Definition GOFF.h:91

static Error getData(const uint8_t *Record, SmallString< 256 > &CompleteData)

static void getOffset(const uint8_t *Record, uint32_t &Offset)

Definition GOFF.h:87

ESDDuplicateSymbolSeverity

constexpr uint8_t RecordLength

Length of the parts of a physical GOFF record.

value_type read(const void *memory, endianness endian)

Read a value of a particular endianness from memory.

This is an optimization pass for GlobalISel generic memory operations.