LLVM  16.0.0git
Classes | Public Member Functions | Protected Attributes | List of all members
AMDGPURegBankCombinerHelper Class Reference
Collaboration diagram for AMDGPURegBankCombinerHelper:
Collaboration graph


struct  Med3MatchInfo
struct  MinMaxMedOpc

Public Member Functions

 AMDGPURegBankCombinerHelper (MachineIRBuilder &B, CombinerHelper &Helper)
bool isVgprRegBank (Register Reg)
Register getAsVgpr (Register Reg)
MinMaxMedOpc getMinMaxPair (unsigned Opc)
template<class m_Cst , typename CstTy >
bool matchMed (MachineInstr &MI, MachineRegisterInfo &MRI, MinMaxMedOpc MMMOpc, Register &Val, CstTy &K0, CstTy &K1)
bool matchIntMinMaxToMed3 (MachineInstr &MI, Med3MatchInfo &MatchInfo)
bool matchFPMinMaxToMed3 (MachineInstr &MI, Med3MatchInfo &MatchInfo)
bool matchFPMinMaxToClamp (MachineInstr &MI, Register &Reg)
bool matchFPMed3ToClamp (MachineInstr &MI, Register &Reg)
void applyMed3 (MachineInstr &MI, Med3MatchInfo &MatchInfo)
void applyClamp (MachineInstr &MI, Register &Reg)

Protected Attributes

const GCNSubtargetSubtarget
const RegisterBankInfoRBI
const TargetRegisterInfoTRI
const SIInstrInfoTII

Detailed Description

Definition at line 34 of file AMDGPURegBankCombiner.cpp.

Constructor & Destructor Documentation

◆ AMDGPURegBankCombinerHelper()

AMDGPURegBankCombinerHelper::AMDGPURegBankCombinerHelper ( MachineIRBuilder B,
CombinerHelper Helper 

Definition at line 46 of file AMDGPURegBankCombiner.cpp.

Member Function Documentation

◆ applyClamp()

void AMDGPURegBankCombinerHelper::applyClamp ( MachineInstr MI,
Register Reg 

Definition at line 314 of file AMDGPURegBankCombiner.cpp.

References B, and MI.

◆ applyMed3()

void AMDGPURegBankCombinerHelper::applyMed3 ( MachineInstr MI,
Med3MatchInfo MatchInfo 

Definition at line 321 of file AMDGPURegBankCombiner.cpp.

References B, MI, and AMDGPURegBankCombinerHelper::Med3MatchInfo::Opc.

◆ getAsVgpr()

Register AMDGPURegBankCombinerHelper::getAsVgpr ( Register  Reg)

◆ getMinMaxPair()

AMDGPURegBankCombinerHelper::MinMaxMedOpc AMDGPURegBankCombinerHelper::getMinMaxPair ( unsigned  Opc)

Definition at line 108 of file AMDGPURegBankCombiner.cpp.

References llvm_unreachable.

◆ isVgprRegBank()

bool AMDGPURegBankCombinerHelper::isVgprRegBank ( Register  Reg)

Definition at line 86 of file AMDGPURegBankCombiner.cpp.

References MRI, and TRI.

◆ matchFPMed3ToClamp()

bool AMDGPURegBankCombinerHelper::matchFPMed3ToClamp ( MachineInstr MI,
Register Reg 

◆ matchFPMinMaxToClamp()

bool AMDGPURegBankCombinerHelper::matchFPMinMaxToClamp ( MachineInstr MI,
Register Reg 

◆ matchFPMinMaxToMed3()

bool AMDGPURegBankCombinerHelper::matchFPMinMaxToMed3 ( MachineInstr MI,
Med3MatchInfo MatchInfo 

◆ matchIntMinMaxToMed3()

bool AMDGPURegBankCombinerHelper::matchIntMinMaxToMed3 ( MachineInstr MI,
Med3MatchInfo MatchInfo 

◆ matchMed()

template<class m_Cst , typename CstTy >
bool AMDGPURegBankCombinerHelper::matchMed ( MachineInstr MI,
MachineRegisterInfo MRI,
MinMaxMedOpc  MMMOpc,
Register Val,
CstTy &  K0,
CstTy &  K1 

Member Data Documentation

◆ B

MachineIRBuilder& AMDGPURegBankCombinerHelper::B

Definition at line 36 of file AMDGPURegBankCombiner.cpp.

◆ Helper

CombinerHelper& AMDGPURegBankCombinerHelper::Helper

Definition at line 43 of file AMDGPURegBankCombiner.cpp.

◆ MF

MachineFunction& AMDGPURegBankCombinerHelper::MF

Definition at line 37 of file AMDGPURegBankCombiner.cpp.


MachineRegisterInfo& AMDGPURegBankCombinerHelper::MRI

Definition at line 38 of file AMDGPURegBankCombiner.cpp.


const RegisterBankInfo& AMDGPURegBankCombinerHelper::RBI

Definition at line 40 of file AMDGPURegBankCombiner.cpp.

◆ Subtarget

const GCNSubtarget& AMDGPURegBankCombinerHelper::Subtarget

Definition at line 39 of file AMDGPURegBankCombiner.cpp.


const SIInstrInfo& AMDGPURegBankCombinerHelper::TII

Definition at line 42 of file AMDGPURegBankCombiner.cpp.


const TargetRegisterInfo& AMDGPURegBankCombinerHelper::TRI

Definition at line 41 of file AMDGPURegBankCombiner.cpp.

The documentation for this class was generated from the following file: