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.
Align getAlignment() const
Return alignment of the basic block.
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)
@ 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)