Go to the documentation of this file.
18 case XCOFF::XMC_##A: \
50 #define RELOC_CASE(A) \
83 #define LANG_CASE(A) \
84 case XCOFF::TracebackTable::A: \
111 unsigned FixedParmsNum,
112 unsigned FloatingParmsNum) {
115 unsigned ParsedFixedNum = 0;
116 unsigned ParsedFloatingNum = 0;
117 unsigned ParsedNum = 0;
118 unsigned ParmsNum = FixedParmsNum + FloatingParmsNum;
128 while (
Bits < 31 && ParsedNum < ParmsNum) {
151 if (ParsedNum < ParmsNum)
152 ParmsType +=
", ...";
154 if (
Value != 0u || ParsedFixedNum > FixedParmsNum ||
155 ParsedFloatingNum > FloatingParmsNum)
157 "ParmsType encodes can not map to ParmsNum "
158 "parameters in parseParmsType.");
168 Res +=
"TB_RESERVED ";
170 Res +=
"TB_SSP_CANARY ";
174 Res +=
"TB_EH_INFO ";
176 Res +=
"TB_LONGTBTABLE2 ";
189 unsigned FloatingParmsNum,
190 unsigned VectorParmsNum) {
193 unsigned ParsedFixedNum = 0;
194 unsigned ParsedFloatingNum = 0;
195 unsigned ParsedVectorNum = 0;
196 unsigned ParsedNum = 0;
197 unsigned ParmsNum = FixedParmsNum + FloatingParmsNum + VectorParmsNum;
199 for (
int Bits = 0;
Bits < 32 && ParsedNum < ParmsNum;
Bits += 2) {
221 assert(
false &&
"Unrecognized bits in ParmsType.");
227 if (ParsedNum < ParmsNum)
228 ParmsType +=
", ...";
230 if (
Value != 0u || ParsedFixedNum > FixedParmsNum ||
231 ParsedFloatingNum > FloatingParmsNum || ParsedVectorNum > VectorParmsNum)
234 "ParmsType encodes can not map to ParmsNum parameters "
235 "in parseParmsTypeWithVecInfo.");
243 unsigned ParsedNum = 0;
244 for (
int Bits = 0; ParsedNum < ParmsNum &&
Bits < 32;
Bits += 2) {
269 if (ParsedNum < ParmsNum)
270 ParmsType +=
", ...";
274 "ParmsType encodes more than ParmsNum parameters "
275 "in parseVectorParmsType.");
SmallString< 32 > getExtendedTBTableFlagString(uint8_t Flag)
This is an optimization pass for GlobalISel generic memory operations.
@ R_TRLA
Relative to the TOC or to the thread-local storage base relocation. Compilers are not permitted to ge...
@ TB_OS2
Reserved for OS use.
static constexpr uint32_t ParmTypeIsFloatingBit
The instances of the Type class are immutable: once they are created, they are never changed.
static constexpr uint32_t ParmTypeFloatingIsDoubleBit
@ R_TLS_LE
Local-exec reference to TLS symbol.
Tagged union holding either a T or a Error.
@ R_TLS_LD
Local-dynamic reference to TLS symbol.
@ R_RBA
Branch absolute relocation. Similar to R_BA but references a modifiable instruction.
@ R_TOCU
Relative to TOC upper. Specifies the high-order 16 bits of a large code model TOC-relative relocation...
@ R_GL
Global linkage-external TOC address relocation. Provides the address of the external TOC associated w...
@ TB_SSP_CANARY
stack smasher canary present on stack.
(vector float) vec_cmpeq(*A, *B) C
@ R_TRL
TOC relative indirect load relocation. Similar to R_TOC, but not modifiable instruction.
@ R_RLA
Positive load address relocation. Modifiable instruction.
@ R_TLS
General-dynamic reference to TLS symbol.
@ R_POS
Positive relocation. Provides the address of the referenced symbol.
@ TB_EH_INFO
Exception handling info present.
Flag
These should be considered private to the implementation of the MCInstrDesc class.
StringRef getMappingClassString(XCOFF::StorageMappingClass SMC)
@ R_RL
Positive indirect load relocation. Modifiable instruction.
@ R_NEG
Negative relocation. Provides the negative of the address of the referenced symbol.
StorageMappingClass
Storage Mapping Class definitions.
Expected< SmallString< 32 > > parseParmsTypeWithVecInfo(uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum, unsigned VectorParmsNum)
Expected< SmallString< 32 > > parseVectorParmsType(uint32_t Value, unsigned ParmsNum)
@ R_RBR
Branch relative to self relocation. Similar to the R_BR relocation type, but references a modifiable ...
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static constexpr uint32_t ParmTypeIsVectorBits
@ R_TLSML
Module reference to the local TLS storage.
static constexpr uint32_t ParmTypeIsVectorFloatBit
static constexpr uint32_t ParmTypeIsFloatingBits
@ TB_OS1
Reserved for OS use.
Expected< SmallString< 32 > > parseParmsType(uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum)
@ R_TLS_IE
Initial-exec reference to TLS symbol.
static constexpr uint32_t ParmTypeIsVectorIntBit
StringRef - Represent a constant reference to a string, i.e.
static constexpr uint32_t ParmTypeIsVectorCharBit
@ R_REF
A non-relocating relocation. Used to prevent the binder from garbage collecting a csect (such as code...
static constexpr uint32_t ParmTypeMask
static constexpr uint32_t ParmTypeIsDoubleBits
@ R_TOC
Relative to the TOC relocation. Provides a displacement that is the difference between the address of...
Error createStringError(std::error_code EC, char const *Fmt, const Ts &... Vals)
Create formatted StringError object.
@ R_BR
Branch relative to self relocation. Provides the displacement that is the difference between the addr...
@ R_REL
Relative to self relocation. Provides a displacement value between the address of the referenced symb...
static constexpr uint32_t ParmTypeIsFixedBits
@ R_BA
Branch absolute relocation. Provides the address of the referenced symbol. References a non-modifiabl...
StringRef getRelocationTypeString(XCOFF::RelocationType Type)
@ R_TOCL
Relative to TOC lower. Specifies the low-order 16 bits of a large code model TOC-relative relocation.
StringRef getNameForTracebackTableLanguageId(TracebackTable::LanguageID LangId)
static constexpr uint32_t ParmTypeIsVectorShortBit
@ TB_LONGTBTABLE2
Additional tbtable extension exists.
@ R_TCL
Local object TOC address relocation. Provides the address of the local TOC entry of a defined externa...
LLVM Value Representation.
@ TB_RESERVED
Reserved for compiler.
@ R_TLSM
Module reference to TLS. Provides a handle for the module containing the referenced symbol.