LLVM: include/llvm/InterfaceStub/IFSStub.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_INTERFACESTUB_IFSSTUB_H

15#define LLVM_INTERFACESTUB_IFSSTUB_H

16

19#include

20#include

21

22namespace llvm {

23namespace ifs {

24

26

36

44

52

57 std::optional<uint64_t> Size;

61 std::optionalstd::string Warning;

63};

64

66 std::optionalstd::string Triple;

68 std::optional Arch;

71 std::optional BitWidth;

72

74};

75

80 return false;

81 return true;

82}

83

85 return !(Lhs == Rhs);

86}

87

88

89

91

93 std::optionalstd::string SoName;

97

102};

103

104

105

106

107

108

115

116

117

118

119

121

122

123

124

125

127

128

129

130

131

133

134

135

136

137

138

140

141

142

143

144

145

147

148

149

150

151

152

153

155}

156}

157

158#endif

Defines the llvm::VersionTuple class, which represents a version in the form major[....

Represents a version number in the form major[.minor[.subminor[.build]]].

uint16_t IFSArch

Definition IFSStub.h:25

bool operator==(const IFSTarget &Lhs, const IFSTarget &Rhs)

Definition IFSStub.h:76

bool operator!=(const IFSTarget &Lhs, const IFSTarget &Rhs)

Definition IFSStub.h:84

LLVM_ABI uint8_t convertIFSEndiannessToELF(IFSEndiannessType Endianness)

This function convert endianness type from IFS enum to ELF format Currently, ELFDATA2LSB and ELFDATA2...

LLVM_ABI uint8_t convertIFSBitWidthToELF(IFSBitWidthType BitWidth)

This function convert bit width type from IFS enum to ELF format Currently, ELFCLASS32 and ELFCLASS64...

LLVM_ABI uint8_t convertIFSSymbolTypeToELF(IFSSymbolType SymbolType)

This function convert symbol type from IFS enum to ELF format Currently, STT_NOTYPE,...

IFSEndiannessType

Definition IFSStub.h:37

@ Little

Definition IFSStub.h:38

@ Big

Definition IFSStub.h:39

IFSBitWidthType

Definition IFSStub.h:45

@ IFS64

Definition IFSStub.h:47

@ IFS32

Definition IFSStub.h:46

IFSSymbolType

Definition IFSStub.h:27

@ Func

Definition IFSStub.h:30

@ TLS

Definition IFSStub.h:31

@ Object

Definition IFSStub.h:29

@ Unknown

Definition IFSStub.h:34

@ NoType

Definition IFSStub.h:28

LLVM_ABI IFSBitWidthType convertELFBitWidthToIFS(uint8_t BitWidth)

This function extracts ELF bit width from e_ident[EI_CLASS] of an ELF file Currently,...

LLVM_ABI IFSEndiannessType convertELFEndiannessToIFS(uint8_t Endianness)

This function extracts ELF endianness from e_ident[EI_DATA] of an ELF file Currently,...

LLVM_ABI IFSSymbolType convertELFSymbolTypeToIFS(uint8_t SymbolType)

This function extracts symbol type from a symbol's st_info member and maps it to an IFSSymbolType enu...

This is an optimization pass for GlobalISel generic memory operations.

constexpr unsigned BitWidth

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.

virtual ~IFSStub()=default

std::vector< IFSSymbol > Symbols

Definition IFSStub.h:96

VersionTuple IfsVersion

Definition IFSStub.h:92

IFSTarget Target

Definition IFSStub.h:94

std::optional< std::string > SoName

Definition IFSStub.h:93

std::vector< std::string > NeededLibs

Definition IFSStub.h:95

bool Undefined

Definition IFSStub.h:59

IFSSymbolType Type

Definition IFSStub.h:58

std::string Name

Definition IFSStub.h:56

IFSSymbol(std::string SymbolName)

Definition IFSStub.h:55

std::optional< uint64_t > Size

Definition IFSStub.h:57

std::optional< std::string > Warning

Definition IFSStub.h:61

bool Weak

Definition IFSStub.h:60

bool operator<(const IFSSymbol &RHS) const

Definition IFSStub.h:62

std::optional< std::string > ArchString

Definition IFSStub.h:69

std::optional< std::string > Triple

Definition IFSStub.h:66

std::optional< IFSEndiannessType > Endianness

Definition IFSStub.h:70

std::optional< IFSBitWidthType > BitWidth

Definition IFSStub.h:71

std::optional< std::string > ObjectFormat

Definition IFSStub.h:67

std::optional< IFSArch > Arch

Definition IFSStub.h:68