LLVM: lib/Target/SPIRV/SPIRVPostLegalizer.cpp File Reference (original) (raw)
Go to the source code of this file.
Namespaces | |
---|---|
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Functions | |
---|---|
bool | isTypeFoldingSupported (unsigned Opcode) |
Register | llvm::insertAssignInstr (Register Reg, Type *Ty, SPIRVType *SpirvTy, SPIRVGlobalRegistry *GR, MachineIRBuilder &MIB, MachineRegisterInfo &MRI) |
Helper external function for inserting ASSIGN_TYPE instuction between Reg and its definition, set the new register as a destination of the definition, assign SPIRVType to both registers. | |
void | llvm::processInstr (MachineInstr &MI, MachineIRBuilder &MIB, MachineRegisterInfo &MRI, SPIRVGlobalRegistry *GR) |
static bool | mayBeInserted (unsigned Opcode) |
static void | processNewInstrs (MachineFunction &MF, SPIRVGlobalRegistry *GR, MachineIRBuilder MIB) |
void | visit (MachineFunction &MF, MachineBasicBlock &Start, std::function< void(MachineBasicBlock *)> op) |
void | visit (MachineFunction &MF, std::function< void(MachineBasicBlock *)> op) |
◆ DEBUG_TYPE
#define DEBUG_TYPE "spirv-postlegalizer"
◆ isTypeFoldingSupported()
◆ mayBeInserted()
◆ processNewInstrs()
Definition at line 74 of file SPIRVPostLegalizer.cpp.
References assert(), llvm::SPIRVGlobalRegistry::CurMF, llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::SPIRVGlobalRegistry::getSPIRVTypeForVReg(), I, llvm::insertAssignInstr(), isTypeFoldingSupported(), llvm::Register::isValid(), mayBeInserted(), MBB, MRI, llvm::processInstr(), llvm::report_fatal_error(), and llvm::setRegClassType().