LLVM 21.0.0git
|
#include "Target/AMDGPU/AMDGPURegBankLegalizeHelper.h"
Public Member Functions | |
RegBankLegalizeHelper (MachineIRBuilder &B, const MachineUniformityInfo &MUI, const RegisterBankInfo &RBI, const RegBankLegalizeRules &RBLRules) | |
void | findRuleAndApplyMapping (MachineInstr &MI) |
void | applyMappingPHI (MachineInstr &MI) |
void | applyMappingTrivial (MachineInstr &MI) |
Definition at line 28 of file AMDGPURegBankLegalizeHelper.h.
RegBankLegalizeHelper::RegBankLegalizeHelper | ( | MachineIRBuilder & | B, |
const MachineUniformityInfo & | MUI, | ||
const RegisterBankInfo & | RBI, | ||
const RegBankLegalizeRules & | RBLRules | ||
) |
Definition at line 27 of file AMDGPURegBankLegalizeHelper.cpp.
void RegBankLegalizeHelper::applyMappingPHI | ( | MachineInstr & | MI | ) |
Definition at line 618 of file AMDGPURegBankLegalizeHelper.cpp.
References llvm::MachineIRBuilder::buildAnyExt(), llvm::MachineIRBuilder::buildTrunc(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::dbgs(), DefMI, llvm::Pass::dump(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineInstr::getParent(), llvm::MachineRegisterInfo::getType(), llvm::MachineRegisterInfo::getVRegDef(), llvm::GenericUniformityInfo< ContextT >::isDivergent(), llvm::GenericUniformityInfo< ContextT >::isUniform(), LLVM_DEBUG, llvm_unreachable, MI, llvm::LLT::pointer(), llvm::LLT::scalar(), llvm::MachineIRBuilder::setInsertPt(), llvm::MachineBasicBlock::SkipPHIsAndLabels(), and UseReg().
void RegBankLegalizeHelper::applyMappingTrivial | ( | MachineInstr & | MI | ) |
Definition at line 676 of file AMDGPURegBankLegalizeHelper.cpp.
References assert(), llvm::MachineIRBuilder::buildCopy(), llvm::MachineRegisterInfo::getRegBank(), llvm::MachineRegisterInfo::getType(), MI, llvm::MachineIRBuilder::setInstr(), and verifyRegBankOnOperands().
void RegBankLegalizeHelper::findRuleAndApplyMapping | ( | MachineInstr & | MI | ) |
Definition at line 35 of file AMDGPURegBankLegalizeHelper.cpp.
References llvm::AMDGPU::RegBankLLTMapping::DstOpMapping, llvm::AMDGPU::SetOfRulesForOpcode::findMappingForMI(), llvm::AMDGPU::RegBankLegalizeRules::getRulesForOpc(), MI, llvm::MachineIRBuilder::setInsertPt(), llvm::MachineIRBuilder::setInstr(), llvm::SmallVectorBase< Size_T >::size(), and llvm::AMDGPU::RegBankLLTMapping::SrcOpMapping.