LLVM  8.0.1
Macros | Functions | Variables
SILowerI1Copies.cpp File Reference
#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"
Include dependency graph for SILowerI1Copies.cpp:

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 void instrDefsUsesSCC (const MachineInstr &MI, bool &Def, bool &Use)
 

Variables

 DEBUG_TYPE
 
SI Lower i1 Copies
 
SI Lower i1 false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "si-i1-copies"

Definition at line 40 of file SILowerI1Copies.cpp.

Function Documentation

◆ createLaneMaskReg()

static unsigned createLaneMaskReg ( MachineFunction MF)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( SILowerI1Copies  ,
DEBUG_TYPE  ,
"SI Lower i1 Copies ,
false  ,
false   
)

◆ insertUndefLaneMask()

static unsigned insertUndefLaneMask ( MachineBasicBlock MBB)
static

Definition at line 419 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::MachineRegisterInfo::constrainRegClass(), createLaneMaskReg(), llvm::dbgs(), llvm::MachinePostDominatorTree::findNearestCommonDominator(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::MachineOperand::getImm(), llvm::GCNSubtarget::getInstrInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineFunction::getRegInfo(), llvm::SIInstrInfo::getRegisterInfo(), llvm::MachineOperand::getSubReg(), llvm::MachineFunction::getSubtarget(), llvm::MachineRegisterInfo::getUniqueVRegDef(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::MachineSSAUpdater::Initialize(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), llvm::MachineOperand::isImm(), llvm::MachineInstr::isPHI(), llvm::TargetRegisterInfo::isVirtualRegister(), LLVM_DEBUG, MI, llvm::MachineBasicBlock::phis(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::MachineRegisterInfo::replaceRegWith(), llvm::MachineRegisterInfo::setRegClass(), llvm::SmallVectorBase::size(), llvm::MachineRegisterInfo::use_empty(), and llvm::MachineRegisterInfo::use_instructions().

◆ instrDefsUsesSCC()

static void instrDefsUsesSCC ( const MachineInstr MI,
bool Def,
bool Use 
)
static

Variable Documentation

◆ Copies

SI Lower i1 Copies

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 403 of file SILowerI1Copies.cpp.

◆ false

SI Lower i1 false

Definition at line 403 of file SILowerI1Copies.cpp.