92 if (ST.hasDX10ClampMode())
111 if (ST.hasDX10ClampMode())
114 if (ST.hasIEEEMode())
117 if (ST.hasRrWGMode())
229 if (
MI.isMetaInstruction())
234 if (IsLowerBound &&
MI.isInlineAsm())
AMD GCN specific subclass of TargetSubtarget.
const HexagonInstrInfo * TII
#define S_00B84C_EXCP_EN(x)
#define S_00B428_MEM_ORDERED(x)
#define S_00B028_MEM_ORDERED(x)
#define S_00B84C_TGID_Z_EN(x)
#define S_00B228_WGP_MODE(x)
#define S_00B848_MEM_ORDERED(x)
#define S_00B228_MEM_ORDERED(x)
#define S_00B848_RR_WG_MODE(x)
#define S_00B84C_TGID_X_EN(x)
#define S_00B848_DEBUG_MODE(x)
#define S_00B428_WGP_MODE(x)
#define S_00B84C_TG_SIZE_EN(x)
#define S_00B84C_TIDIG_COMP_CNT(x)
#define S_00B84C_LDS_SIZE(x)
#define S_00B84C_USER_SGPR(x)
#define S_00B84C_TRAP_HANDLER(x)
#define S_00B84C_TGID_Y_EN(x)
#define S_00B128_MEM_ORDERED(x)
#define S_00B848_WGP_MODE(x)
#define S_00B84C_EXCP_EN_MSB(x)
#define S_00B848_DX10_CLAMP(x)
#define S_00B848_PRIORITY(x)
#define S_00B848_IEEE_MODE(x)
#define S_00B848_FWD_PROGRESS(x)
#define S_00B848_FLOAT_MODE(x)
static uint64_t getComputePGMRSrc2Reg(const SIProgramInfo &ProgInfo)
static uint64_t getPGMRSrc1Reg(const SIProgramInfo &ProgInfo, CallingConv::ID CC, const GCNSubtarget &ST)
static uint64_t getComputePGMRSrc1Reg(const SIProgramInfo &ProgInfo, const GCNSubtarget &ST)
static const MCExpr * MaskShift(const MCExpr *Val, uint32_t Mask, uint32_t Shift, MCContext &Ctx)
Defines struct to track resource usage and hardware flags for kernels and entry functions.
const SIInstrInfo * getInstrInfo() const override
static const MCBinaryExpr * createAnd(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
static const MCBinaryExpr * createOr(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
static const MCBinaryExpr * createShl(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
static LLVM_ABI const MCConstantExpr * create(int64_t Value, MCContext &Ctx, bool PrintInHex=false, unsigned SizeInBytes=0)
Context object for machine code objects.
Base class for the full range of assembler expressions which are needed for parsing.
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
MCContext & getContext() const
Representation of each machine instruction.
LLVM_READNONE constexpr bool isCompute(CallingConv::ID CC)
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
@ AMDGPU_VS
Used for Mesa vertex shaders, or AMDPAL last shader stage before rasterization (vertex shader if tess...
@ AMDGPU_HS
Used for Mesa/AMDPAL hull shaders (= tessellation control shaders).
@ AMDGPU_GS
Used for Mesa/AMDPAL geometry shaders.
@ AMDGPU_PS
Used for Mesa/AMDPAL pixel shaders.
This is an optimization pass for GlobalISel generic memory operations.
uint64_t alignTo(uint64_t Size, Align A)
Returns a multiple of A needed to store Size bytes.
Track resource usage for kernels / entry functions.
const MCExpr * getPGMRSrc2(CallingConv::ID CC, MCContext &Ctx) const
const MCExpr * NumArchVGPR
uint64_t getFunctionCodeSize(const MachineFunction &MF, bool IsLowerBound=false)
const MCExpr * getComputePGMRSrc2(MCContext &Ctx) const
Compute the value of the ComputePGMRsrc2 register.
const MCExpr * VGPRBlocks
const MCExpr * ScratchBlocks
const MCExpr * ComputePGMRSrc3
const MCExpr * getComputePGMRSrc1(const GCNSubtarget &ST, MCContext &Ctx) const
Compute the value of the ComputePGMRsrc1 register.
uint32_t TrapHandlerEnable
const MCExpr * NamedBarCnt
const MCExpr * ScratchEnable
const MCExpr * AccumOffset
const MCExpr * NumAccVGPR
const MCExpr * DynamicCallStack
const MCExpr * SGPRBlocks
const MCExpr * NumVGPRsForWavesPerEU
std::optional< uint64_t > CodeSizeInBytes
const MCExpr * getPGMRSrc1(CallingConv::ID CC, const GCNSubtarget &ST, MCContext &Ctx) const
const MCExpr * ScratchSize
const MCExpr * NumSGPRsForWavesPerEU
void reset(const MachineFunction &MF)