LLVM 22.0.0git
|
Public Member Functions | |
AMDGPURegBankLegalizeCombiner (MachineIRBuilder &B, const SIRegisterInfo &TRI, const RegisterBankInfo &RBI) | |
bool | isLaneMask (Register Reg) |
std::pair< MachineInstr *, Register > | tryMatch (Register Src, unsigned Opcode) |
std::pair< GUnmerge *, int > | tryMatchRALFromUnmerge (Register Src) |
Register | getReadAnyLaneSrc (Register Src) |
void | replaceRegWithOrBuildCopy (Register Dst, Register Src) |
bool | tryEliminateReadAnyLane (MachineInstr &Copy) |
void | tryCombineCopy (MachineInstr &MI) |
void | tryCombineS1AnyExt (MachineInstr &MI) |
Definition at line 99 of file AMDGPURegBankLegalize.cpp.
|
inline |
Definition at line 113 of file AMDGPURegBankLegalize.cpp.
Definition at line 161 of file AMDGPURegBankLegalize.cpp.
References llvm::getOpcodeDef(), Merge, tryMatch(), and tryMatchRALFromUnmerge().
Referenced by tryEliminateReadAnyLane().
Definition at line 131 of file AMDGPURegBankLegalize.cpp.
References llvm::RegisterBank::getID(), and llvm::LLT::scalar().
Referenced by tryCombineCopy().
Definition at line 210 of file AMDGPURegBankLegalize.cpp.
Referenced by tryEliminateReadAnyLane().
void AMDGPURegBankLegalizeCombiner::tryCombineCopy | ( | MachineInstr & | MI | ) |
Definition at line 263 of file AMDGPURegBankLegalize.cpp.
References assert(), llvm::eraseInstr(), isLaneMask(), MI, tryEliminateReadAnyLane(), and tryMatch().
void AMDGPURegBankLegalizeCombiner::tryCombineS1AnyExt | ( | MachineInstr & | MI | ) |
Definition at line 294 of file AMDGPURegBankLegalize.cpp.
References llvm::eraseInstr(), MI, and tryMatch().
bool AMDGPURegBankLegalizeCombiner::tryEliminateReadAnyLane | ( | MachineInstr & | Copy | ) |
Definition at line 218 of file AMDGPURegBankLegalize.cpp.
References llvm::eraseInstr(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), getReadAnyLaneSrc(), llvm::MachineOperand::getReg(), and replaceRegWithOrBuildCopy().
Referenced by tryCombineCopy().
std::pair< MachineInstr *, Register > AMDGPURegBankLegalizeCombiner::tryMatch | ( | Register | Src, |
unsigned | Opcode ) |
Definition at line 141 of file AMDGPURegBankLegalize.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and Register.
Referenced by getReadAnyLaneSrc(), tryCombineCopy(), and tryCombineS1AnyExt().
Definition at line 149 of file AMDGPURegBankLegalize.cpp.
References llvm::MachineInstr::getOpcode(), llvm::getOpcodeDef(), llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().
Referenced by getReadAnyLaneSrc().