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;
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