LLVM 19.0.0git
Classes | Namespaces | Macros | Enumerations | Functions | Variables
SIInstrInfo.h File Reference

Interface definition for SIInstrInfo. More...

#include "AMDGPUMIRFormatter.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "SIRegisterInfo.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSchedule.h"
#include "AMDGPUGenInstrInfo.inc"

Go to the source code of this file.

Classes

struct  llvm::SIInstrWorklist
 Utility to store machine instructions worklist. More...
 
class  llvm::SIInstrInfo
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::AMDGPU
 
namespace  llvm::SI
 
namespace  llvm::SI::KernelInputOffsets
 

Macros

#define GET_INSTRINFO_HEADER
 

Enumerations

enum  llvm::AMDGPU::AsmComments { llvm::AMDGPU::SGPR_SPILL = MachineInstr::TAsmComments }
 
enum  llvm::SI::KernelInputOffsets::Offsets {
  llvm::SI::KernelInputOffsets::NGROUPS_X = 0 , llvm::SI::KernelInputOffsets::NGROUPS_Y = 4 , llvm::SI::KernelInputOffsets::NGROUPS_Z = 8 , llvm::SI::KernelInputOffsets::GLOBAL_SIZE_X = 12 ,
  llvm::SI::KernelInputOffsets::GLOBAL_SIZE_Y = 16 , llvm::SI::KernelInputOffsets::GLOBAL_SIZE_Z = 20 , llvm::SI::KernelInputOffsets::LOCAL_SIZE_X = 24 , llvm::SI::KernelInputOffsets::LOCAL_SIZE_Y = 28 ,
  llvm::SI::KernelInputOffsets::LOCAL_SIZE_Z = 32
}
 Offsets in bytes from the start of the input buffer. More...
 

Functions

bool llvm::isOfRegClass (const TargetInstrInfo::RegSubRegPair &P, const TargetRegisterClass &TRC, MachineRegisterInfo &MRI)
 Returns true if a reg:subreg pair P has a TRC class.
 
TargetInstrInfo::RegSubRegPair llvm::getRegSubRegPair (const MachineOperand &O)
 Create RegSubRegPair from a register MachineOperand.
 
TargetInstrInfo::RegSubRegPair llvm::getRegSequenceSubReg (MachineInstr &MI, unsigned SubReg)
 Return the SubReg component from REG_SEQUENCE.
 
MachineInstrllvm::getVRegSubRegDef (const TargetInstrInfo::RegSubRegPair &P, MachineRegisterInfo &MRI)
 Return the defining instruction for a given reg:subreg pair skipping copy like instructions and subreg-manipulation pseudos.
 
bool llvm::execMayBeModifiedBeforeUse (const MachineRegisterInfo &MRI, Register VReg, const MachineInstr &DefMI, const MachineInstr &UseMI)
 Return false if EXEC is not changed between the def of VReg at DefMI and the use at UseMI.
 
bool llvm::execMayBeModifiedBeforeAnyUse (const MachineRegisterInfo &MRI, Register VReg, const MachineInstr &DefMI)
 Return false if EXEC is not changed between the def of VReg at DefMI and all its uses.
 
LLVM_READONLY int llvm::AMDGPU::getVOPe64 (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getVOPe32 (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getSDWAOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getDPPOp32 (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getDPPOp64 (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getBasicFromSDWAOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getCommuteRev (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getCommuteOrig (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getAddr64Inst (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getIfAddr64Inst (uint16_t Opcode)
 Check if Opcode is an Addr64 opcode.
 
LLVM_READONLY int llvm::AMDGPU::getSOPKOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getGlobalSaddrOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getGlobalVaddrOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getVCMPXNoSDstOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getFlatScratchInstSTfromSS (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getFlatScratchInstSVfromSVS (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getFlatScratchInstSSfromSV (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getFlatScratchInstSVfromSS (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getMFMAEarlyClobberOp (uint16_t Opcode)
 
LLVM_READONLY int llvm::AMDGPU::getVCMPXOpFromVCMP (uint16_t Opcode)
 

Variables

static const MachineMemOperand::Flags llvm::MONoClobber
 Mark the MMO of a uniform load if there are no potentially clobbering stores on any path from the start of an entry function to this load.
 
static const MachineMemOperand::Flags llvm::MOLastUse
 Mark the MMO of a load as the last use.
 
const uint64_t llvm::AMDGPU::RSRC_DATA_FORMAT = 0xf00000000000LL
 
const uint64_t llvm::AMDGPU::RSRC_ELEMENT_SIZE_SHIFT = (32 + 19)
 
const uint64_t llvm::AMDGPU::RSRC_INDEX_STRIDE_SHIFT = (32 + 21)
 
const uint64_t llvm::AMDGPU::RSRC_TID_ENABLE = UINT64_C(1) << (32 + 23)
 

Detailed Description

Interface definition for SIInstrInfo.

Definition in file SIInstrInfo.h.

Macro Definition Documentation

◆ GET_INSTRINFO_HEADER

#define GET_INSTRINFO_HEADER

Definition at line 25 of file SIInstrInfo.h.