LLVM
10.0.0svn
|
#include "AMDGPU.h"
#include "AMDGPUSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "SIInstrInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachinePostDominators.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/MachineSSAUpdater.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Support/Debug.h"
#include "llvm/Target/TargetMachine.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "si-i1-copies" |
Functions | |
static unsigned | createLaneMaskReg (MachineFunction &MF) |
static unsigned | insertUndefLaneMask (MachineBasicBlock &MBB) |
INITIALIZE_PASS_BEGIN (SILowerI1Copies, DEBUG_TYPE, "SI Lower i1 Copies", false, false) INITIALIZE_PASS_END(SILowerI1Copies | |
static bool | isVRegCompatibleReg (const SIRegisterInfo &TRI, const MachineRegisterInfo &MRI, Register Reg) |
static void | instrDefsUsesSCC (const MachineInstr &MI, bool &Def, bool &Use) |
Variables | |
DEBUG_TYPE | |
SI Lower i1 | Copies |
SI Lower i1 | false |
#define DEBUG_TYPE "si-i1-copies" |
Definition at line 39 of file SILowerI1Copies.cpp.
|
static |
Definition at line 427 of file SILowerI1Copies.cpp.
References llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), and llvm::GCNSubtarget::isWave32().
Referenced by insertUndefLaneMask(), instrDefsUsesSCC(), and isVRegCompatibleReg().
INITIALIZE_PASS_BEGIN | ( | SILowerI1Copies | , |
DEBUG_TYPE | , | ||
"SI Lower i1 Copies" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 434 of file SILowerI1Copies.cpp.
References llvm::BuildMI(), llvm::MachineRegisterInfo::constrainRegClass(), createLaneMaskReg(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::GCNSubtarget::getInstrInfo(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), and llvm::MachineFunction::getSubtarget().
Referenced by isVRegCompatibleReg().
|
static |
Definition at line 771 of file SILowerI1Copies.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), createLaneMaskReg(), E, llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getFirstTerminator(), I, llvm_unreachable, and llvm::MachineInstr::operands().
|
static |
Definition at line 493 of file SILowerI1Copies.cpp.
References llvm::MachineSSAUpdater::AddAvailableValue(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::BuildMI(), llvm::SmallVectorImpl< T >::clear(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::count(), createLaneMaskReg(), llvm::dbgs(), llvm::MachinePostDominatorTree::findNearestCommonDominator(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::SIInstrInfo::getRegisterInfo(), llvm::MachineOperand::getSubReg(), llvm::MachineRegisterInfo::getUniqueVRegDef(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::MachineSSAUpdater::Initialize(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), insertUndefLaneMask(), llvm::MachineOperand::isImm(), llvm::MachineInstr::isPHI(), llvm::Register::isVirtualRegister(), LLVM_DEBUG, MI, MRI, llvm::MachineBasicBlock::phis(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::MachineBasicBlock::push_back(), llvm::MachineRegisterInfo::replaceRegWith(), llvm::MachineRegisterInfo::setRegClass(), Size, llvm::SmallVectorBase::size(), llvm::MachineRegisterInfo::use_empty(), and llvm::MachineRegisterInfo::use_instructions().
SI Lower i1 Copies |
Definition at line 416 of file SILowerI1Copies.cpp.
Referenced by bothUsedInPHI(), getRegsUsedByPHIs(), isOperandOf(), LowerInterruptReturn(), propagateLocalCopies(), splitBlock(), and llvm::TailDuplicator::tailDuplicateAndUpdate().
DEBUG_TYPE |
Definition at line 416 of file SILowerI1Copies.cpp.
SI Lower i1 false |
Definition at line 416 of file SILowerI1Copies.cpp.