LLVM
15.0.0git
|
#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "llvm/CodeGen/LivePhysRegs.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/InitializePasses.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 18 of file SIOptimizeExecMasking.cpp.
|
static |
Definition at line 266 of file SIOptimizeExecMasking.cpp.
References E, I, isCopyFromExec(), llvm::Register::isValid(), MBB, N, llvm::MachineBasicBlock::rend(), and llvm::ARM_MB::ST.
|
static |
Definition at line 302 of file SIOptimizeExecMasking.cpp.
References E, llvm::MachineInstr::getParent(), llvm::ilist_node_impl< OptionsT >::getReverseIterator(), llvm::MachineBasicBlock::rend(), and TRI.
Referenced by findPossibleVCMPVCMPXOptimization().
|
static |
Definition at line 371 of file SIOptimizeExecMasking.cpp.
References assert(), Check, findInstrBackwards(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::AMDGPU::getVCMPXOpFromVCMP(), isLiveOut(), llvm::MachineOperand::isReg(), isRegisterInUseAfter(), isRegisterInUseBetween(), llvm::MachineInstr::modifiesRegister(), MRI, TII, and TRI.
|
static |
Definition at line 244 of file SIOptimizeExecMasking.cpp.
References E, I, MBB, llvm::MachineBasicBlock::rbegin(), removeTerminatorBit(), llvm::MachineBasicBlock::rend(), and TII.
|
static |
Definition at line 135 of file SIOptimizeExecMasking.cpp.
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 56 of file SIOptimizeExecMasking.cpp.
References MI, and llvm::ARM_MB::ST.
Referenced by findExecCopy().
|
static |
If MI
is a copy to exec, return the register copied from.
Definition at line 74 of file SIOptimizeExecMasking.cpp.
References llvm_unreachable, MI, and llvm::ARM_MB::ST.
|
static |
Definition at line 287 of file SIOptimizeExecMasking.cpp.
References MBB, and llvm::MachineBasicBlock::successors().
Referenced by findPossibleVCMPVCMPXOptimization(), and llvm::MachineBasicBlock::SplitCriticalEdge().
|
static |
If MI
is a logical operation on an exec value, return the register copied to.
Definition at line 96 of file SIOptimizeExecMasking.cpp.
References llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), and MI.
|
static |
Definition at line 359 of file SIOptimizeExecMasking.cpp.
Referenced by findPossibleVCMPVCMPXOptimization().
|
static |
Definition at line 335 of file SIOptimizeExecMasking.cpp.
Referenced by findPossibleVCMPVCMPXOptimization().
|
static |
Definition at line 448 of file SIOptimizeExecMasking.cpp.
References llvm::MachineInstrBuilder::addReg(), Builder, llvm::BuildMI(), llvm::misexpect::clamp(), llvm::MachineRegisterInfo::clearKillFlags(), llvm::MachineInstr::getDebugLoc(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::TargetRegisterInfo::getRegSizeInBits(), llvm::AMDGPU::getVCMPXOpFromVCMP(), llvm::MachineOperand::isReg(), Mod, MRI, TII, TRI, and llvm::MachineInstr::uses().
|
static |
Definition at line 176 of file SIOptimizeExecMasking.cpp.
Referenced by fixTerminators().
DEBUG_TYPE |
Definition at line 48 of file SIOptimizeExecMasking.cpp.
SI optimize exec mask false |
Definition at line 49 of file SIOptimizeExecMasking.cpp.
SI optimize exec mask operations |
Definition at line 49 of file SIOptimizeExecMasking.cpp.