|
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) |
| Register | tryMatchUnmergeDefs (SmallVectorImpl< Register > &DefRegs) |
| SmallVector< Register > | tryMatchMergeReadAnyLane (GMergeLikeInstr *Merge) |
| SmallVector< Register > | getReadAnyLaneSrcs (Register Src) |
| void | replaceRegWithOrBuildCopy (Register Dst, Register Src) |
| bool | tryEliminateReadAnyLane (MachineInstr &Copy) |
| void | tryCombineCopy (MachineInstr &MI) |
| void | tryCombineS1AnyExt (MachineInstr &MI) |
Definition at line 108 of file AMDGPURegBankLegalize.cpp.
|
inline |
Definition at line 122 of file AMDGPURegBankLegalize.cpp.
| SmallVector< Register > AMDGPURegBankLegalizeCombiner::getReadAnyLaneSrcs | ( | Register | Src | ) |
Definition at line 188 of file AMDGPURegBankLegalize.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::getOpcodeDef(), llvm::MIPatternMatch::m_GAnyExt(), llvm::MIPatternMatch::m_GTrunc(), llvm::MIPatternMatch::m_Reg(), Merge, llvm::MIPatternMatch::mi_match(), tryMatch(), tryMatchMergeReadAnyLane(), and tryMatchUnmergeDefs().
Referenced by tryEliminateReadAnyLane().
Definition at line 141 of file AMDGPURegBankLegalize.cpp.
References llvm::RegisterBank::getID(), and llvm::LLT::scalar().
Referenced by tryCombineCopy().
Definition at line 251 of file AMDGPURegBankLegalize.cpp.
Referenced by tryEliminateReadAnyLane().
| void AMDGPURegBankLegalizeCombiner::tryCombineCopy | ( | MachineInstr & | MI | ) |
Definition at line 314 of file AMDGPURegBankLegalize.cpp.
References assert(), llvm::eraseInstr(), isLaneMask(), MI, tryEliminateReadAnyLane(), and tryMatch().
| void AMDGPURegBankLegalizeCombiner::tryCombineS1AnyExt | ( | MachineInstr & | MI | ) |
Definition at line 345 of file AMDGPURegBankLegalize.cpp.
References llvm::eraseInstr(), MI, and tryMatch().
| bool AMDGPURegBankLegalizeCombiner::tryEliminateReadAnyLane | ( | MachineInstr & | Copy | ) |
Definition at line 259 of file AMDGPURegBankLegalize.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::eraseInstr(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), getReadAnyLaneSrcs(), llvm::MachineOperand::getReg(), Merge, replaceRegWithOrBuildCopy(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by tryCombineCopy().
| std::pair< MachineInstr *, Register > AMDGPURegBankLegalizeCombiner::tryMatch | ( | Register | Src, |
| unsigned | Opcode ) |
Definition at line 151 of file AMDGPURegBankLegalize.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and Register.
Referenced by getReadAnyLaneSrcs(), tryCombineCopy(), and tryCombineS1AnyExt().
| SmallVector< Register > AMDGPURegBankLegalizeCombiner::tryMatchMergeReadAnyLane | ( | GMergeLikeInstr * | Merge | ) |
Definition at line 174 of file AMDGPURegBankLegalize.cpp.
References llvm::MIPatternMatch::m_Reg(), Merge, llvm::MIPatternMatch::mi_match(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by getReadAnyLaneSrcs().
| Register AMDGPURegBankLegalizeCombiner::tryMatchUnmergeDefs | ( | SmallVectorImpl< Register > & | DefRegs | ) |
Definition at line 160 of file AMDGPURegBankLegalize.cpp.
References llvm::getOpcodeDef(), I, and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by getReadAnyLaneSrcs().