LLVM 22.0.0git
AMDGPURegBankLegalizeCombiner Class Reference

Public Member Functions

 AMDGPURegBankLegalizeCombiner (MachineIRBuilder &B, const SIRegisterInfo &TRI, const RegisterBankInfo &RBI)
bool isLaneMask (Register Reg)
std::pair< MachineInstr *, RegistertryMatch (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)

Detailed Description

Definition at line 99 of file AMDGPURegBankLegalize.cpp.

Constructor & Destructor Documentation

◆ AMDGPURegBankLegalizeCombiner()

AMDGPURegBankLegalizeCombiner::AMDGPURegBankLegalizeCombiner ( MachineIRBuilder & B,
const SIRegisterInfo & TRI,
const RegisterBankInfo & RBI )
inline

Definition at line 113 of file AMDGPURegBankLegalize.cpp.

Member Function Documentation

◆ getReadAnyLaneSrc()

Register AMDGPURegBankLegalizeCombiner::getReadAnyLaneSrc ( Register Src)

◆ isLaneMask()

bool AMDGPURegBankLegalizeCombiner::isLaneMask ( Register Reg)

Definition at line 131 of file AMDGPURegBankLegalize.cpp.

References llvm::RegisterBank::getID(), and llvm::LLT::scalar().

Referenced by tryCombineCopy().

◆ replaceRegWithOrBuildCopy()

void AMDGPURegBankLegalizeCombiner::replaceRegWithOrBuildCopy ( Register Dst,
Register Src )

Definition at line 210 of file AMDGPURegBankLegalize.cpp.

Referenced by tryEliminateReadAnyLane().

◆ tryCombineCopy()

void AMDGPURegBankLegalizeCombiner::tryCombineCopy ( MachineInstr & MI)

◆ tryCombineS1AnyExt()

void AMDGPURegBankLegalizeCombiner::tryCombineS1AnyExt ( MachineInstr & MI)

Definition at line 294 of file AMDGPURegBankLegalize.cpp.

References llvm::eraseInstr(), MI, and tryMatch().

◆ tryEliminateReadAnyLane()

◆ tryMatch()

std::pair< MachineInstr *, Register > AMDGPURegBankLegalizeCombiner::tryMatch ( Register Src,
unsigned Opcode )

◆ tryMatchRALFromUnmerge()

std::pair< GUnmerge *, int > AMDGPURegBankLegalizeCombiner::tryMatchRALFromUnmerge ( Register Src)

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