18 case XCOFF::XMC_##A: \
50#define RELOC_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.");
165 if (Flag & ExtendedTBTableFlag::TB_OS1)
167 if (Flag & ExtendedTBTableFlag::TB_RESERVED)
168 Res +=
"TB_RESERVED ";
169 if (Flag & ExtendedTBTableFlag::TB_SSP_CANARY)
170 Res +=
"TB_SSP_CANARY ";
171 if (Flag & ExtendedTBTableFlag::TB_OS2)
173 if (Flag & ExtendedTBTableFlag::TB_EH_INFO)
174 Res +=
"TB_EH_INFO ";
175 if (Flag & ExtendedTBTableFlag::TB_LONGTBTABLE2)
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)
233 errc::invalid_argument,
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.");
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This file defines the SmallString class.
Tagged union holding either a T or a Error.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
@ C
The default llvm calling convention, compatible with C.
SmallString< 32 > getExtendedTBTableFlagString(uint8_t Flag)
Expected< SmallString< 32 > > parseParmsTypeWithVecInfo(uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum, unsigned VectorParmsNum)
StringRef getRelocationTypeString(XCOFF::RelocationType Type)
Expected< SmallString< 32 > > parseParmsType(uint32_t Value, unsigned FixedParmsNum, unsigned FloatingParmsNum)
StringRef getMappingClassString(XCOFF::StorageMappingClass SMC)
Expected< SmallString< 32 > > parseVectorParmsType(uint32_t Value, unsigned ParmsNum)
@ R_RBR
Branch relative to self relocation.
@ R_TOC
Relative to the TOC relocation.
@ R_RLA
Positive load address relocation. Modifiable instruction.
@ R_TLSML
Module reference to the local TLS storage.
@ R_TRL
TOC relative indirect load relocation.
@ R_BR
Branch relative to self relocation.
@ R_POS
Positive relocation.
@ R_RBA
Branch absolute relocation.
@ R_BA
Branch absolute relocation.
@ R_REL
Relative to self relocation.
@ R_NEG
Negative relocation.
@ R_TLS_IE
Initial-exec reference to TLS symbol.
@ R_TLSM
Module reference to TLS.
@ R_GL
Global linkage-external TOC address relocation.
@ R_REF
A non-relocating relocation.
@ R_RL
Positive indirect load relocation. Modifiable instruction.
@ R_TRLA
Relative to the TOC or to the thread-local storage base relocation.
@ R_TCL
Local object TOC address relocation.
@ R_TOCL
Relative to TOC lower.
@ R_TOCU
Relative to TOC upper.
@ R_TLS_LD
Local-dynamic reference to TLS symbol.
@ R_TLS
General-dynamic reference to TLS symbol.
@ R_TLS_LE
Local-exec reference to TLS symbol.
StorageMappingClass
Storage Mapping Class definitions.
StringRef getNameForTracebackTableLanguageId(TracebackTable::LanguageID LangId)
This is an optimization pass for GlobalISel generic memory operations.
Error createStringError(std::error_code EC, char const *Fmt, const Ts &... Vals)
Create formatted StringError object.
static constexpr uint32_t ParmTypeFloatingIsDoubleBit
static constexpr uint32_t ParmTypeIsFloatingBit
static constexpr uint32_t ParmTypeIsVectorShortBit
static constexpr uint32_t ParmTypeMask
static constexpr uint32_t ParmTypeIsDoubleBits
static constexpr uint32_t ParmTypeIsVectorIntBit
static constexpr uint32_t ParmTypeIsFixedBits
static constexpr uint32_t ParmTypeIsVectorBits
static constexpr uint32_t ParmTypeIsVectorCharBit
static constexpr uint32_t ParmTypeIsVectorFloatBit
static constexpr uint32_t ParmTypeIsFloatingBits