LLVM 22.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 38 of file SILowerI1Copies.h.
PhiLoweringHelper::PhiLoweringHelper | ( | MachineFunction * | MF, |
MachineDominatorTree * | DT, | ||
MachinePostDominatorTree * | PDT | ||
) |
Definition at line 442 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 716 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 77 of file SILowerI1Copies.h.
References LaneMaskRegAttrs.
|
inline |
Definition at line 72 of file SILowerI1Copies.h.
References llvm::MachineRegisterInfo::getVRegAttrs(), LaneMaskRegAttrs, and MRI.
Referenced by lowerPhis().
Definition at line 663 of file SILowerI1Copies.cpp.
References llvm::MachineRegisterInfo::getUniqueVRegDef(), isLaneMaskReg(), MI, MovOp, and MRI.
Definition at line 81 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 471 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 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().
|
protected |
Definition at line 58 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 45 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 52 of file SILowerI1Copies.h.
Referenced by initializeLaneMaskRegisterAttributes(), and lowerPhis().
|
protected |
Definition at line 46 of file SILowerI1Copies.h.
Referenced by lowerPhis(), and PhiLoweringHelper().
|
protected |
Definition at line 59 of file SILowerI1Copies.h.
Referenced by isConstantLaneMask(), and PhiLoweringHelper().
|
protected |
Definition at line 49 of file SILowerI1Copies.h.
Referenced by initializeLaneMaskRegisterAttributes(), isConstantLaneMask(), isLaneMaskReg(), lowerPhis(), and PhiLoweringHelper().
|
protected |
Definition at line 64 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 61 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().
|
protected |
Definition at line 48 of file SILowerI1Copies.h.
Referenced by lowerPhis().
Definition at line 55 of file SILowerI1Copies.h.
Referenced by lowerPhis().
|
protected |
Definition at line 50 of file SILowerI1Copies.h.
Referenced by isLaneMaskReg(), and PhiLoweringHelper().
|
protected |
Definition at line 51 of file SILowerI1Copies.h.
Referenced by isLaneMaskReg(), lowerPhis(), and PhiLoweringHelper().
|
protected |
Definition at line 62 of file SILowerI1Copies.h.
Referenced by PhiLoweringHelper().