LLVM
8.0.1
|
#include "AMDGPU.h"
#include "AMDGPUSubtarget.h"
#include "SIInstrInfo.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Support/Debug.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "si-optimize-exec-masking" |
Variables | |
DEBUG_TYPE | |
SI optimize exec mask | operations |
SI optimize exec mask | false |
#define DEBUG_TYPE "si-optimize-exec-masking" |
Definition at line 22 of file SIOptimizeExecMasking.cpp.
|
static |
Definition at line 179 of file SIOptimizeExecMasking.cpp.
References E, I, isCopyFromExec(), N, and llvm::MachineBasicBlock::rend().
Referenced by isLiveOut().
|
static |
Definition at line 164 of file SIOptimizeExecMasking.cpp.
References E, I, llvm::MachineBasicBlock::rbegin(), removeTerminatorBit(), and llvm::MachineBasicBlock::rend().
Referenced by isLiveOut().
Definition at line 115 of file SIOptimizeExecMasking.cpp.
Referenced by isLiveOut().
INITIALIZE_PASS_BEGIN | ( | SIOptimizeExecMasking | , |
DEBUG_TYPE | , | ||
"SI optimize exec mask operations" | , | ||
false | , | ||
false | |||
) |
|
static |
If MI
is a copy from exec, return the register copied to.
Definition at line 60 of file SIOptimizeExecMasking.cpp.
References llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), and MI.
Referenced by findExecCopy().
|
static |
If MI
is a copy to exec, return the register copied from.
Definition at line 75 of file SIOptimizeExecMasking.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), and llvm_unreachable.
Referenced by isLiveOut().
|
static |
Definition at line 199 of file SIOptimizeExecMasking.cpp.
References assert(), llvm::BuildMI(), llvm::dbgs(), E, llvm::MachineInstr::eraseFromParent(), findExecCopy(), fixTerminators(), llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFunction(), llvm::GCNSubtarget::getInstrInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::GCNSubtarget::getRegisterInfo(), getSaveExecOp(), llvm::MachineFunction::getSubtarget(), I, llvm::MachineInstr::isCommutable(), isCopyToExec(), isLogicalOpOnExec(), llvm::MachineOperand::isReg(), LLVM_DEBUG, llvm_unreachable, llvm::printReg(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::MachineInstr::readsRegister(), llvm::ARM_MB::ST, llvm::MachineBasicBlock::successors(), TII, and TRI.
Referenced by allPhiOperandsUndefined(), createBBSelectReg(), getPHIDestReg(), and llvm::MachineBasicBlock::SplitCriticalEdge().
|
static |
If MI
is a logical operation on an exec value, return the register copied to.
Definition at line 93 of file SIOptimizeExecMasking.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MachineOperand::isReg().
Referenced by isLiveOut().
|
static |
Definition at line 141 of file SIOptimizeExecMasking.cpp.
References llvm::MachineInstr::getOpcode(), and llvm::MachineInstr::setDesc().
Referenced by fixTerminators().
DEBUG_TYPE |
Definition at line 52 of file SIOptimizeExecMasking.cpp.
SI optimize exec mask false |
Definition at line 52 of file SIOptimizeExecMasking.cpp.
SI optimize exec mask operations |
Definition at line 52 of file SIOptimizeExecMasking.cpp.