20 case XCOFF::XMC_##A: \
52#define RELOC_CASE(A) \
86 case XCOFF::TracebackTable::A: \
138#define TCPU_CASE(A) \
139 case XCOFF::TCPU_##A: \
170 unsigned FixedParmsNum,
171 unsigned FloatingParmsNum) {
174 unsigned ParsedFixedNum = 0;
175 unsigned ParsedFloatingNum = 0;
176 unsigned ParsedNum = 0;
177 unsigned ParmsNum = FixedParmsNum + FloatingParmsNum;
187 while (Bits < 31 && ParsedNum < ParmsNum) {
210 if (ParsedNum < ParmsNum)
211 ParmsType +=
", ...";
213 if (
Value != 0u || ParsedFixedNum > FixedParmsNum ||
214 ParsedFloatingNum > FloatingParmsNum)
216 "ParmsType encodes can not map to ParmsNum "
217 "parameters in parseParmsType.");
224 if (Flag & ExtendedTBTableFlag::TB_OS1)
226 if (Flag & ExtendedTBTableFlag::TB_RESERVED)
227 Res +=
"TB_RESERVED ";
228 if (Flag & ExtendedTBTableFlag::TB_SSP_CANARY)
229 Res +=
"TB_SSP_CANARY ";
230 if (Flag & ExtendedTBTableFlag::TB_OS2)
232 if (Flag & ExtendedTBTableFlag::TB_EH_INFO)
233 Res +=
"TB_EH_INFO ";
234 if (Flag & ExtendedTBTableFlag::TB_LONGTBTABLE2)
235 Res +=
"TB_LONGTBTABLE2 ";
248 unsigned FloatingParmsNum,
249 unsigned VectorParmsNum) {
252 unsigned ParsedFixedNum = 0;
253 unsigned ParsedFloatingNum = 0;
254 unsigned ParsedVectorNum = 0;
255 unsigned ParsedNum = 0;
256 unsigned ParmsNum = FixedParmsNum + FloatingParmsNum + VectorParmsNum;
258 for (
int Bits = 0; Bits < 32 && ParsedNum < ParmsNum; Bits += 2) {
280 assert(
false &&
"Unrecognized bits in ParmsType.");
286 if (ParsedNum < ParmsNum)
287 ParmsType +=
", ...";
289 if (
Value != 0u || ParsedFixedNum > FixedParmsNum ||
290 ParsedFloatingNum > FloatingParmsNum || ParsedVectorNum > VectorParmsNum)
292 errc::invalid_argument,
293 "ParmsType encodes can not map to ParmsNum parameters "
294 "in parseParmsTypeWithVecInfo.");
302 unsigned ParsedNum = 0;
303 for (
int Bits = 0; ParsedNum < ParmsNum && Bits < 32; Bits += 2) {
328 if (ParsedNum < ParmsNum)
329 ParmsType +=
", ...";
333 "ParmsType encodes more than ParmsNum parameters "
334 "in parseVectorParmsType.");
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This file defines the SmallString class.
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
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.
A switch()-like statement whose cases are string literals.
StringSwitch & Case(StringLiteral S, T Value)
StringSwitch & Cases(StringLiteral S0, StringLiteral S1, T Value)
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.
StringRef normalizeCPUName(StringRef CPUName)
SmallString< 32 > getExtendedTBTableFlagString(uint8_t Flag)
XCOFF::CFileCpuId getCpuID(StringRef CPU)
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.
@ TCPU_604
604 implementation of PowerPC architecture.
@ TCPU_ANY
Mixture of any incompatable POWER and PowerPC architecture implementations.
@ TCPU_COM
POWER and PowerPC architecture common.
@ TCPU_603
603 implementation of PowerPC architecture.
@ TCPU_601
601 implementation of PowerPC architecture.
@ TCPU_INVALID
Invalid id - assumes POWER for old objects.
StorageMappingClass
Storage Mapping Class definitions.
StringRef getTCPUString(XCOFF::CFileCpuId TCPU)
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