LLVM 22.0.0git
AMDKernelCodeTUtils.cpp File Reference

Go to the source code of this file.

Classes

class  PrintField

Macros

#define GEN_HAS_MEMBER(member)
#define RECORD(name, altName, print, parse)
#define QNAME(name)
#define FLD_T(name)
#define PRINTFIELD(sname, aname, name)
#define FIELD2(sname, aname, name)
#define FIELD(name)
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define CODEPROP(name, shift)
#define PRINTCOMP(GetMacro, Shift)
#define PARSECOMP(SetMacro, Shift)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)
#define COMPPGM1(name, aname, AccMacro)
#define COMPPGM2(name, aname, AccMacro)
#define RECORD(name, altName, print, parse)
#define QNAME(name)
#define FLD_T(name)
#define PRINTFIELD(sname, aname, name)
#define FIELD2(sname, aname, name)
#define FIELD(name)
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define CODEPROP(name, shift)
#define PRINTCOMP(GetMacro, Shift)
#define PARSECOMP(SetMacro, Shift)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)
#define COMPPGM1(name, aname, AccMacro)
#define COMPPGM2(name, aname, AccMacro)
#define RECORD(name, altName, print, parse)
#define QNAME(name)
#define FLD_T(name)
#define PRINTFIELD(sname, aname, name)
#define FIELD2(sname, aname, name)
#define FIELD(name)
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define CODEPROP(name, shift)
#define PRINTCOMP(GetMacro, Shift)
#define PARSECOMP(SetMacro, Shift)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)
#define COMPPGM1(name, aname, AccMacro)
#define COMPPGM2(name, aname, AccMacro)
#define RECORD(name, altName, print, parse)
#define QNAME(name)
#define FLD_T(name)
#define PRINTFIELD(sname, aname, name)
#define FIELD2(sname, aname, name)
#define FIELD(name)
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define CODEPROP(name, shift)
#define PRINTCOMP(GetMacro, Shift)
#define PARSECOMP(SetMacro, Shift)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)
#define COMPPGM1(name, aname, AccMacro)
#define COMPPGM2(name, aname, AccMacro)
#define COMPPGM1(name, aname, AccMacro)
#define COMPPGM2(name, aname, AccMacro)
#define PRINTFIELD(sname, aname, name)
#define PRINTCOMP(Complement, PGMType)
#define RECORD(name, altName, print, parse)
#define QNAME(name)
#define FLD_T(name)
#define FIELD2(sname, aname, name)
#define FIELD(name)
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define CODEPROP(name, shift)
#define PARSECOMP(SetMacro, Shift)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)
#define COMPPGM1(name, aname, AccMacro)
#define COMPPGM2(name, aname, AccMacro)
#define PARSECOMP(Complement, PGMType)
#define RECORD(name, altName, print, parse)
#define QNAME(name)
#define FLD_T(name)
#define PRINTFIELD(sname, aname, name)
#define FIELD2(sname, aname, name)
#define FIELD(name)
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define CODEPROP(name, shift)
#define PRINTCOMP(GetMacro, Shift)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)

Typedefs

using RetrieveFx = const MCExpr *&(*)(AMDGPUMCKernelCodeT &)
using PrintFx
using ParseFx = bool (*)(AMDGPUMCKernelCodeT &, MCAsmParser &, raw_ostream &)

Functions

static StringMap< int > createIndexMap (ArrayRef< StringLiteral > names, ArrayRef< StringLiteral > altNames)
static int get_amd_kernel_code_t_FieldIndex (StringRef name)
template<typename T, T AMDGPUMCKernelCodeT::* ptr, int shift, int width = 1>
static void printBitField (StringRef Name, const AMDGPUMCKernelCodeT &C, raw_ostream &OS, MCContext &, AMDGPUMCKernelCodeT::PrintHelper)
static bool expectAbsExpression (MCAsmParser &MCParser, int64_t &Value, raw_ostream &Err)
template<typename T, T AMDGPUMCKernelCodeT::* ptr>
static bool parseField (AMDGPUMCKernelCodeT &C, MCAsmParser &MCParser, raw_ostream &Err)
template<typename T, T AMDGPUMCKernelCodeT::* ptr, int shift, int width = 1>
static bool parseBitField (AMDGPUMCKernelCodeT &C, MCAsmParser &MCParser, raw_ostream &Err)
static bool parseExpr (MCAsmParser &MCParser, const MCExpr *&Value, raw_ostream &Err)
static void printAmdKernelCodeField (const AMDGPUMCKernelCodeT &C, int FldIndex, raw_ostream &OS, MCContext &Ctx, AMDGPUMCKernelCodeT::PrintHelper Helper)

Macro Definition Documentation

◆ CODEPROP [1/6]

#define CODEPROP ( name,
shift )
Value:
#define PRINTCODEPROP(name)
#define PARSECODEPROP(name)
#define RECORD(name, altName, print, parse)
static const char * name

◆ CODEPROP [2/6]

#define CODEPROP ( name,
shift )
Value:

◆ CODEPROP [3/6]

#define CODEPROP ( name,
shift )
Value:

◆ CODEPROP [4/6]

#define CODEPROP ( name,
shift )
Value:

◆ CODEPROP [5/6]

#define CODEPROP ( name,
shift )
Value:

◆ CODEPROP [6/6]

#define CODEPROP ( name,
shift )
Value:

◆ COMPPGM [1/6]

#define COMPPGM ( name,
aname,
GetMacro,
SetMacro,
Shift )
Value:
RECORD(name, aname, PRINTCOMP(GetMacro, Shift), PARSECOMP(SetMacro, Shift))
#define PRINTCOMP(GetMacro, Shift)
#define PARSECOMP(SetMacro, Shift)

◆ COMPPGM [2/6]

#define COMPPGM ( name,
aname,
GetMacro,
SetMacro,
Shift )
Value:
RECORD(name, aname, PRINTCOMP(GetMacro, Shift), PARSECOMP(SetMacro, Shift))

◆ COMPPGM [3/6]

#define COMPPGM ( name,
aname,
GetMacro,
SetMacro,
Shift )
Value:
RECORD(name, aname, PRINTCOMP(GetMacro, Shift), PARSECOMP(SetMacro, Shift))

◆ COMPPGM [4/6]

#define COMPPGM ( name,
aname,
GetMacro,
SetMacro,
Shift )
Value:
RECORD(name, aname, PRINTCOMP(GetMacro, Shift), PARSECOMP(SetMacro, Shift))

◆ COMPPGM [5/6]

#define COMPPGM ( name,
aname,
GetMacro,
SetMacro,
Shift )
Value:
RECORD(name, aname, PRINTCOMP(GetMacro, Shift), PARSECOMP(SetMacro, Shift))

◆ COMPPGM [6/6]

#define COMPPGM ( name,
aname,
GetMacro,
SetMacro,
Shift )
Value:
RECORD(name, aname, PRINTCOMP(GetMacro, Shift), PARSECOMP(SetMacro, Shift))

◆ COMPPGM1 [1/6]

#define COMPPGM1 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B848_##AccMacro, S_00B848_##AccMacro, 0)
#define COMPPGM(name, aname, GetMacro, SetMacro, Shift)

◆ COMPPGM1 [2/6]

#define COMPPGM1 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B848_##AccMacro, S_00B848_##AccMacro, 0)

◆ COMPPGM1 [3/6]

#define COMPPGM1 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B848_##AccMacro, S_00B848_##AccMacro, 0)

◆ COMPPGM1 [4/6]

#define COMPPGM1 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B848_##AccMacro, S_00B848_##AccMacro, 0)

◆ COMPPGM1 [5/6]

#define COMPPGM1 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, C_00B848_##AccMacro, S_00B848_##AccMacro, 0)

◆ COMPPGM1 [6/6]

#define COMPPGM1 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B848_##AccMacro, C_00B848_##AccMacro, 0)

◆ COMPPGM2 [1/6]

#define COMPPGM2 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B84C_##AccMacro, S_00B84C_##AccMacro, 32)

◆ COMPPGM2 [2/6]

#define COMPPGM2 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B84C_##AccMacro, S_00B84C_##AccMacro, 32)

◆ COMPPGM2 [3/6]

#define COMPPGM2 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B84C_##AccMacro, S_00B84C_##AccMacro, 32)

◆ COMPPGM2 [4/6]

#define COMPPGM2 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B84C_##AccMacro, S_00B84C_##AccMacro, 32)

◆ COMPPGM2 [5/6]

#define COMPPGM2 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, C_00B84C_##AccMacro, S_00B84C_##AccMacro, 32)

◆ COMPPGM2 [6/6]

#define COMPPGM2 ( name,
aname,
AccMacro )
Value:
COMPPGM(name, aname, G_00B84C_##AccMacro, C_00B84C_##AccMacro, 32)

◆ FIELD [1/6]

#define FIELD ( name)
Value:
#define FIELD2(sname, aname, name)

◆ FIELD [2/6]

#define FIELD ( name)
Value:

◆ FIELD [3/6]

#define FIELD ( name)
Value:

◆ FIELD [4/6]

#define FIELD ( name)
Value:

◆ FIELD [5/6]

#define FIELD ( name)
Value:

◆ FIELD [6/6]

#define FIELD ( name)
Value:

◆ FIELD2 [1/6]

#define FIELD2 ( sname,
aname,
name )
Value:
RECORD(sname, aname, PRINTFIELD(sname, aname, name), parseField<FLD_T(name)>)
#define FLD_T(name)
#define PRINTFIELD(sname, aname, name)
static bool parseField(AMDGPUMCKernelCodeT &C, MCAsmParser &MCParser, raw_ostream &Err)

◆ FIELD2 [2/6]

#define FIELD2 ( sname,
aname,
name )
Value:
RECORD(sname, aname, PRINTFIELD(sname, aname, name), parseField<FLD_T(name)>)

◆ FIELD2 [3/6]

#define FIELD2 ( sname,
aname,
name )
Value:
RECORD(sname, aname, PRINTFIELD(sname, aname, name), parseField<FLD_T(name)>)

◆ FIELD2 [4/6]

#define FIELD2 ( sname,
aname,
name )
Value:
RECORD(sname, aname, PRINTFIELD(sname, aname, name), parseField<FLD_T(name)>)

◆ FIELD2 [5/6]

#define FIELD2 ( sname,
aname,
name )
Value:
RECORD(sname, aname, PRINTFIELD(sname, aname, name), parseField<FLD_T(name)>)

◆ FIELD2 [6/6]

#define FIELD2 ( sname,
aname,
name )
Value:
RECORD(sname, aname, PRINTFIELD(sname, aname, name), parseField<FLD_T(name)>)

◆ FLD_T [1/6]

#define FLD_T ( name)
Value:
decltype(QNAME(name)), &QNAME(name)
#define QNAME(name)

◆ FLD_T [2/6]

#define FLD_T ( name)
Value:
decltype(QNAME(name)), &QNAME(name)

◆ FLD_T [3/6]

#define FLD_T ( name)
Value:
decltype(QNAME(name)), &QNAME(name)

◆ FLD_T [4/6]

#define FLD_T ( name)
Value:
decltype(QNAME(name)), &QNAME(name)

◆ FLD_T [5/6]

#define FLD_T ( name)
Value:
decltype(QNAME(name)), &QNAME(name)

◆ FLD_T [6/6]

#define FLD_T ( name)
Value:
decltype(QNAME(name)), &QNAME(name)

◆ GEN_HAS_MEMBER

#define GEN_HAS_MEMBER ( member)

Definition at line 41 of file AMDKernelCodeTUtils.cpp.

◆ PARSECODEPROP [1/6]

#define PARSECODEPROP ( name)
Value:
parseBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>
static bool parseBitField(AMDGPUMCKernelCodeT &C, MCAsmParser &MCParser, raw_ostream &Err)

◆ PARSECODEPROP [2/6]

#define PARSECODEPROP ( name)
Value:
parseBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PARSECODEPROP [3/6]

#define PARSECODEPROP ( name)
Value:
parseBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PARSECODEPROP [4/6]

#define PARSECODEPROP ( name)
Value:
parseBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PARSECODEPROP [5/6]

#define PARSECODEPROP ( name)
Value:
parseBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PARSECODEPROP [6/6]

#define PARSECODEPROP ( name)
Value:
parseBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PARSECOMP [1/6]

#define PARSECOMP ( Complement,
PGMType )
Value:
[](AMDGPUMCKernelCodeT &C, MCAsmParser &MCParser, \
raw_ostream &Err) -> bool { \
MCContext &Ctx = MCParser.getContext(); \
const MCExpr *Value; \
if (!parseExpr(MCParser, Value, Err)) \
return false; \
auto [Shift, Mask] = getShiftMask(Complement); \
Value = maskShiftSet(Value, Mask, Shift, Ctx); \
const MCExpr *Compl = MCConstantExpr::create(Complement, Ctx); \
if (PGMType == 0) { \
C.compute_pgm_resource1_registers = MCBinaryExpr::createAnd( \
C.compute_pgm_resource1_registers, Compl, Ctx); \
C.compute_pgm_resource1_registers = MCBinaryExpr::createOr( \
C.compute_pgm_resource1_registers, Value, Ctx); \
} else { \
C.compute_pgm_resource2_registers = MCBinaryExpr::createAnd( \
C.compute_pgm_resource2_registers, Compl, Ctx); \
C.compute_pgm_resource2_registers = MCBinaryExpr::createOr( \
C.compute_pgm_resource2_registers, Value, Ctx); \
} \
return true; \
}
static bool parseExpr(MCAsmParser &MCParser, const MCExpr *&Value, raw_ostream &Err)
Generic assembler parser interface, for use by target specific assembly parsers.
static const MCBinaryExpr * createAnd(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
Definition MCExpr.h:348
static const MCBinaryExpr * createOr(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
Definition MCExpr.h:408
static LLVM_ABI const MCConstantExpr * create(int64_t Value, MCContext &Ctx, bool PrintInHex=false, unsigned SizeInBytes=0)
Definition MCExpr.cpp:212
Context object for machine code objects.
Definition MCContext.h:83
Base class for the full range of assembler expressions which are needed for parsing.
Definition MCExpr.h:34
LLVM Value Representation.
Definition Value.h:75
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition raw_ostream.h:53
const MCExpr * maskShiftSet(const MCExpr *Val, uint32_t Mask, uint32_t Shift, MCContext &Ctx)
Provided with the MCExpr * Val, uint32 Mask and Shift, will return the masked and left shifted,...
constexpr std::pair< unsigned, unsigned > getShiftMask(unsigned Value)
Deduce the least significant bit aligned shift and mask values for a binary Complement Value (as they...
@ C
The default llvm calling convention, compatible with C.
Definition CallingConv.h:34

◆ PARSECOMP [2/6]

#define PARSECOMP ( SetMacro,
Shift )
Value:
[](amd_kernel_code_t &C, MCAsmParser &MCParser, raw_ostream &Err) { \
int64_t Value = 0; \
if (!expectAbsExpression(MCParser, Value, Err)) \
return false; \
C.compute_pgm_resource_registers &= ~(SetMacro(0xFFFFFFFFFFFFFFFFULL) << Shift); \
C.compute_pgm_resource_registers |= SetMacro(Value) << Shift; \
return true; \
}
static bool expectAbsExpression(MCAsmParser &MCParser, int64_t &Value, raw_ostream &Err)
AMD Kernel Code Object (amd_kernel_code_t).

◆ PARSECOMP [3/6]

#define PARSECOMP ( SetMacro,
Shift )
Value:
[](amd_kernel_code_t &C, MCAsmParser &MCParser, raw_ostream &Err) { \
int64_t Value = 0; \
if (!expectAbsExpression(MCParser, Value, Err)) \
return false; \
C.compute_pgm_resource_registers &= ~(SetMacro(0xFFFFFFFFFFFFFFFFULL) << Shift); \
C.compute_pgm_resource_registers |= SetMacro(Value) << Shift; \
return true; \
}

◆ PARSECOMP [4/6]

#define PARSECOMP ( SetMacro,
Shift )
Value:
[](amd_kernel_code_t &C, MCAsmParser &MCParser, raw_ostream &Err) { \
int64_t Value = 0; \
if (!expectAbsExpression(MCParser, Value, Err)) \
return false; \
C.compute_pgm_resource_registers &= ~(SetMacro(0xFFFFFFFFFFFFFFFFULL) << Shift); \
C.compute_pgm_resource_registers |= SetMacro(Value) << Shift; \
return true; \
}

◆ PARSECOMP [5/6]

#define PARSECOMP ( SetMacro,
Shift )
Value:
[](amd_kernel_code_t &C, MCAsmParser &MCParser, raw_ostream &Err) { \
int64_t Value = 0; \
if (!expectAbsExpression(MCParser, Value, Err)) \
return false; \
C.compute_pgm_resource_registers &= ~(SetMacro(0xFFFFFFFFFFFFFFFFULL) << Shift); \
C.compute_pgm_resource_registers |= SetMacro(Value) << Shift; \
return true; \
}

◆ PARSECOMP [6/6]

#define PARSECOMP ( SetMacro,
Shift )
Value:
[](amd_kernel_code_t &C, MCAsmParser &MCParser, raw_ostream &Err) { \
int64_t Value = 0; \
if (!expectAbsExpression(MCParser, Value, Err)) \
return false; \
C.compute_pgm_resource_registers &= ~(SetMacro(0xFFFFFFFFFFFFFFFFULL) << Shift); \
C.compute_pgm_resource_registers |= SetMacro(Value) << Shift; \
return true; \
}

◆ PRINTCODEPROP [1/6]

#define PRINTCODEPROP ( name)
Value:
printBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>
static void printBitField(StringRef Name, const AMDGPUMCKernelCodeT &C, raw_ostream &OS, MCContext &, AMDGPUMCKernelCodeT::PrintHelper)

◆ PRINTCODEPROP [2/6]

#define PRINTCODEPROP ( name)
Value:
printBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PRINTCODEPROP [3/6]

#define PRINTCODEPROP ( name)
Value:
printBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PRINTCODEPROP [4/6]

#define PRINTCODEPROP ( name)
Value:
printBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PRINTCODEPROP [5/6]

#define PRINTCODEPROP ( name)
Value:
printBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PRINTCODEPROP [6/6]

#define PRINTCODEPROP ( name)
Value:
printBitField<FLD_T(code_properties),\
AMD_CODE_PROPERTY_##name##_SHIFT,\
AMD_CODE_PROPERTY_##name##_WIDTH>

◆ PRINTCOMP [1/6]

#define PRINTCOMP ( Complement,
PGMType )
Value:
[](StringRef Name, const AMDGPUMCKernelCodeT &C, raw_ostream &OS, \
OS << Name << " = "; \
auto [Shift, Mask] = getShiftMask(Complement); \
const MCExpr *Value; \
if (PGMType == 0) { \
Value = \
maskShiftGet(C.compute_pgm_resource1_registers, Mask, Shift, Ctx); \
} else { \
Value = \
maskShiftGet(C.compute_pgm_resource2_registers, Mask, Shift, Ctx); \
} \
Helper(Value, OS, Ctx.getAsmInfo()); \
}
const MCAsmInfo * getAsmInfo() const
Definition MCContext.h:412
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55
FunctionAddr VTableAddr Value
Definition InstrProf.h:137
function_ref< void(const MCExpr *, raw_ostream &, const MCAsmInfo *)> PrintHelper

◆ PRINTCOMP [2/6]

#define PRINTCOMP ( GetMacro,
Shift )
Value:
[](StringRef Name, const amd_kernel_code_t &C, raw_ostream &OS) { \
printName(OS, Name) << \
(int)GetMacro(C.compute_pgm_resource_registers >> Shift); \
}

◆ PRINTCOMP [3/6]

#define PRINTCOMP ( GetMacro,
Shift )
Value:
[](StringRef Name, const amd_kernel_code_t &C, raw_ostream &OS) { \
printName(OS, Name) << \
(int)GetMacro(C.compute_pgm_resource_registers >> Shift); \
}

◆ PRINTCOMP [4/6]

#define PRINTCOMP ( GetMacro,
Shift )
Value:
[](StringRef Name, const amd_kernel_code_t &C, raw_ostream &OS) { \
printName(OS, Name) << \
(int)GetMacro(C.compute_pgm_resource_registers >> Shift); \
}

◆ PRINTCOMP [5/6]

#define PRINTCOMP ( GetMacro,
Shift )
Value:
[](StringRef Name, const amd_kernel_code_t &C, raw_ostream &OS) { \
printName(OS, Name) << \
(int)GetMacro(C.compute_pgm_resource_registers >> Shift); \
}

◆ PRINTCOMP [6/6]

#define PRINTCOMP ( GetMacro,
Shift )
Value:
[](StringRef Name, const amd_kernel_code_t &C, raw_ostream &OS) { \
printName(OS, Name) << \
(int)GetMacro(C.compute_pgm_resource_registers >> Shift); \
}

◆ PRINTFIELD [1/6]

#define PRINTFIELD ( sname,
aname,
name )
Value:
printField<FLD_T(name)>

◆ PRINTFIELD [2/6]

#define PRINTFIELD ( sname,
aname,
name )
Value:
printField<FLD_T(name)>

◆ PRINTFIELD [3/6]

#define PRINTFIELD ( sname,
aname,
name )
Value:
printField<FLD_T(name)>

◆ PRINTFIELD [4/6]

#define PRINTFIELD ( sname,
aname,
name )
Value:
printField<FLD_T(name)>

◆ PRINTFIELD [5/6]

#define PRINTFIELD ( sname,
aname,
name )
Value:
printField<FLD_T(name)>

◆ PRINTFIELD [6/6]

#define PRINTFIELD ( sname,
aname,
name )
Value:
static void printField(StringRef Name, const AMDGPUMCKernelCodeT &C, raw_ostream &OS, MCContext &Ctx, AMDGPUMCKernelCodeT::PrintHelper Helper)

◆ QNAME [1/6]

#define QNAME ( name)
Value:
AMDGPUMCKernelCodeT::name

◆ QNAME [2/6]

#define QNAME ( name)
Value:
AMDGPUMCKernelCodeT::name

◆ QNAME [3/6]

#define QNAME ( name)
Value:
AMDGPUMCKernelCodeT::name

◆ QNAME [4/6]

#define QNAME ( name)
Value:
AMDGPUMCKernelCodeT::name

◆ QNAME [5/6]

#define QNAME ( name)
Value:
AMDGPUMCKernelCodeT::name

◆ QNAME [6/6]

#define QNAME ( name)
Value:
AMDGPUMCKernelCodeT::name

◆ RECORD [1/6]

#define RECORD ( name,
altName,
print,
parse )
Value:
#name

◆ RECORD [2/6]

#define RECORD ( name,
altName,
print,
parse )
Value:
#altName

◆ RECORD [3/6]

#define RECORD ( name,
altName,
print,
parse )
Value:
(IsMCExpr##name::RESULT)

◆ RECORD [4/6]

#define RECORD ( name,
altName,
print,
parse )
Value:
GetMember##name::Get

◆ RECORD [5/6]

#define RECORD ( name,
altName,
print,
parse )
Value:
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)

◆ RECORD [6/6]

#define RECORD ( name,
altName,
print,
parse )
Value:

Typedef Documentation

◆ ParseFx

Definition at line 327 of file AMDKernelCodeTUtils.cpp.

◆ PrintFx

using PrintFx
Initial value:

Definition at line 241 of file AMDKernelCodeTUtils.cpp.

◆ RetrieveFx

Definition at line 189 of file AMDKernelCodeTUtils.cpp.

Function Documentation

◆ createIndexMap()

◆ expectAbsExpression()

bool expectAbsExpression ( MCAsmParser & MCParser,
int64_t & Value,
raw_ostream & Err )
static

◆ get_amd_kernel_code_t_FieldIndex()

int get_amd_kernel_code_t_FieldIndex ( StringRef name)
static

Definition at line 211 of file AMDKernelCodeTUtils.cpp.

References createIndexMap(), and name.

Referenced by llvm::AMDGPU::AMDGPUMCKernelCodeT::ParseKernelCodeT().

◆ parseBitField()

template<typename T, T AMDGPUMCKernelCodeT::* ptr, int shift, int width = 1>
bool parseBitField ( AMDGPUMCKernelCodeT & C,
MCAsmParser & MCParser,
raw_ostream & Err )
static

Definition at line 301 of file AMDKernelCodeTUtils.cpp.

References llvm::CallingConv::C, expectAbsExpression(), and T.

◆ parseExpr()

◆ parseField()

template<typename T, T AMDGPUMCKernelCodeT::* ptr>
bool parseField ( AMDGPUMCKernelCodeT & C,
MCAsmParser & MCParser,
raw_ostream & Err )
static

Definition at line 291 of file AMDKernelCodeTUtils.cpp.

References llvm::CallingConv::C, expectAbsExpression(), and T.

◆ printAmdKernelCodeField()

void printAmdKernelCodeField ( const AMDGPUMCKernelCodeT & C,
int FldIndex,
raw_ostream & OS,
MCContext & Ctx,
AMDGPUMCKernelCodeT::PrintHelper Helper )
static

◆ printBitField()

template<typename T, T AMDGPUMCKernelCodeT::* ptr, int shift, int width = 1>
void printBitField ( StringRef Name,
const AMDGPUMCKernelCodeT & C,
raw_ostream & OS,
MCContext & ,
AMDGPUMCKernelCodeT::PrintHelper  )
static

Definition at line 234 of file AMDKernelCodeTUtils.cpp.

References llvm::CallingConv::C, and T.