LLVM  10.0.0svn
Macros | Functions
GCNDPPCombine.cpp File Reference
#include "AMDGPU.h"
#include "AMDGPUSubtarget.h"
#include "SIInstrInfo.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/Pass.h"
#include <cassert>
Include dependency graph for GCNDPPCombine.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "gcn-dpp-combine"
 

Functions

 STATISTIC (NumDPPMovsCombined, "Number of DPP moves combined.")
 
static int getDPPOp (unsigned Op)
 
static bool isIdentityValue (unsigned OrigMIOp, MachineOperand *OldOpnd)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "gcn-dpp-combine"

Definition at line 60 of file GCNDPPCombine.cpp.

Function Documentation

◆ getDPPOp()

static int getDPPOp ( unsigned  Op)
static

◆ isIdentityValue()

static bool isIdentityValue ( unsigned  OrigMIOp,
MachineOperand OldOpnd 
)
static

Definition at line 260 of file GCNDPPCombine.cpp.

References llvm::SISrcMods::ABS, assert(), llvm::BuildMI(), llvm::MachineFunction::CloneMachineInstr(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::dbgs(), E, llvm::SmallVectorBase::empty(), llvm::MachineInstr::eraseFromParent(), llvm::execMayBeModifiedBeforeAnyUse(), llvm::SIInstrInfo::expandMovDPP64(), llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFunction(), llvm::MachineOperand::getImm(), llvm::SIInstrInfo::getNamedOperand(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::getRegSubRegPair(), llvm::MachineFunction::getSubtarget(), llvm::SIInstrInfo::hasVALU32BitEncoding(), I, llvm::MachineInstr::isCommutable(), llvm::MachineOperand::isImm(), llvm::isOfRegClass(), llvm::Register::isPhysical(), llvm::MachineOperand::isReg(), llvm::MachineRegisterInfo::isSSA(), llvm::SIInstrInfo::isVOP1(), llvm::SIInstrInfo::isVOP2(), llvm::SIInstrInfo::isVOP3(), LLVM_DEBUG, llvm::BitmaskEnumDetail::Mask(), llvm::max(), MI, llvm::SISrcMods::NEG, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::TargetInstrInfo::RegSubRegPair::Reg, llvm::ARM_MB::ST, llvm::MachineRegisterInfo::use_nodbg_empty(), and llvm::MachineRegisterInfo::use_nodbg_operands().

◆ STATISTIC()

STATISTIC ( NumDPPMovsCombined  ,
"Number of DPP moves combined."   
)