LLVM 20.0.0git
|
#include "Target/AMDGPU/SILowerI1Copies.h"
Protected Attributes | |
bool | IsWave32 = false |
MachineFunction * | MF = nullptr |
MachineDominatorTree * | DT = nullptr |
MachinePostDominatorTree * | PDT = nullptr |
MachineRegisterInfo * | MRI = nullptr |
const GCNSubtarget * | ST = nullptr |
const SIInstrInfo * | TII = nullptr |
MachineRegisterInfo::VRegAttrs | LaneMaskRegAttrs |
DenseSet< Register > | PhiRegisters |
Register | ExecReg |
unsigned | MovOp |
unsigned | AndOp |
unsigned | OrOp |
unsigned | XorOp |
unsigned | AndN2Op |
unsigned | OrN2Op |
Definition at line 37 of file SILowerI1Copies.h.
PhiLoweringHelper::PhiLoweringHelper | ( | MachineFunction * | MF, |
MachineDominatorTree * | DT, | ||
MachinePostDominatorTree * | PDT | ||
) |
Definition at line 449 of file SILowerI1Copies.cpp.
References AndN2Op, AndOp, ExecReg, llvm::GCNSubtarget::getInstrInfo(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::GCNSubtarget::isWave32(), IsWave32, MF, MovOp, MRI, OrN2Op, OrOp, ST, TII, and XorOp.
|
virtualdefault |
|
pure virtual |
Referenced by lowerPhis().
|
pure virtual |
Referenced by lowerPhis().
|
pure virtual |
Referenced by lowerPhis().
|
pure virtual |
Referenced by lowerPhis().
MachineBasicBlock::iterator PhiLoweringHelper::getSaluInsertionAtEnd | ( | MachineBasicBlock & | MBB | ) | const |
Return a point at the end of the given MBB
to insert SALU instructions for lane mask calculation.
Take terminators and SCC into account.
Definition at line 723 of file SILowerI1Copies.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getFirstTerminator(), I, instrDefsUsesSCC(), llvm_unreachable, and MBB.
Referenced by lowerPhis().
|
inline |
Definition at line 71 of file SILowerI1Copies.h.
References llvm::MachineRegisterInfo::getVRegAttrs(), LaneMaskRegAttrs, and MRI.
Referenced by lowerPhis().
Definition at line 670 of file SILowerI1Copies.cpp.
References llvm::MachineRegisterInfo::getUniqueVRegDef(), isLaneMaskReg(), MI, MovOp, and MRI.
Definition at line 75 of file SILowerI1Copies.h.
References llvm::SIInstrInfo::getRegisterInfo(), llvm::AMDGPUSubtarget::getWavefrontSize(), llvm::SIRegisterInfo::isSGPRReg(), MRI, Reg, ST, and TII.
Referenced by isConstantLaneMask().
bool PhiLoweringHelper::lowerPhis | ( | ) |
Definition at line 478 of file SILowerI1Copies.cpp.
References llvm::SSAUpdater::AddAvailableValue(), llvm::Incoming::Block, buildMergeLaneMasks(), llvm::SmallVectorImpl< T >::clear(), collectIncomingValuesFromPhi(), constrainAsLaneMask(), llvm::createLaneMaskReg(), llvm::dbgs(), DT, llvm::SmallVectorBase< Size_T >::empty(), llvm::MachinePostDominatorTree::findNearestCommonDominator(), getCandidatesForLowering(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), getSaluInsertionAtEnd(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::SSAUpdater::Initialize(), initializeLaneMaskRegisterAttributes(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), insertUndefLaneMask(), llvm::Register::isValid(), LaneMaskRegAttrs, LHS, LLVM_DEBUG, markAsLaneMask(), MBB, MF, MI, MRI, PDT, PhiRegisters, llvm::MachineBasicBlock::push_back(), llvm::Incoming::Reg, replaceDstReg(), RHS, llvm::sort(), TII, llvm::DominatorTreeBase< NodeT, IsPostDom >::updateDFSNumbers(), llvm::Incoming::UpdatedReg, and llvm::MachineRegisterInfo::use_instructions().
|
pure virtual |
Referenced by lowerPhis().
|
pure virtual |
Referenced by lowerPhis().
|
protected |
Definition at line 62 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 59 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 46 of file SILowerI1Copies.h.
Referenced by lowerPhis().
|
protected |
Definition at line 57 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 44 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 51 of file SILowerI1Copies.h.
Referenced by initializeLaneMaskRegisterAttributes(), and lowerPhis().
|
protected |
Definition at line 45 of file SILowerI1Copies.h.
Referenced by lowerPhis(), and PhiLoweringHelper().
|
protected |
Definition at line 58 of file SILowerI1Copies.h.
Referenced by isConstantLaneMask(), and PhiLoweringHelper().
|
protected |
Definition at line 48 of file SILowerI1Copies.h.
Referenced by initializeLaneMaskRegisterAttributes(), isConstantLaneMask(), isLaneMaskReg(), lowerPhis(), and PhiLoweringHelper().
|
protected |
Definition at line 63 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 60 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 47 of file SILowerI1Copies.h.
Referenced by lowerPhis().
Definition at line 54 of file SILowerI1Copies.h.
Referenced by lowerPhis().
|
protected |
Definition at line 49 of file SILowerI1Copies.h.
Referenced by isLaneMaskReg(), and PhiLoweringHelper().
|
protected |
Definition at line 50 of file SILowerI1Copies.h.
Referenced by isLaneMaskReg(), lowerPhis(), and PhiLoweringHelper().
|
protected |
Definition at line 61 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().