LLVM 20.0.0git
|
This pass performs exec mask handling peephole optimizations which needs to be done before register allocation to reduce register pressure. More...
#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "llvm/CodeGen/LiveIntervals.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-pre-ra" |
Functions | |
INITIALIZE_PASS_BEGIN (SIOptimizeExecMaskingPreRA, DEBUG_TYPE, "SI optimize exec mask operations pre-RA", false, false) INITIALIZE_PASS_END(SIOptimizeExecMaskingPreRA | |
static bool | isDefBetween (const LiveRange &LR, SlotIndex AndIdx, SlotIndex SelIdx) |
static bool | isDefBetween (const SIRegisterInfo &TRI, LiveIntervals *LIS, Register Reg, const MachineInstr &Sel, const MachineInstr &And) |
Variables | |
DEBUG_TYPE | |
SI optimize exec mask operations pre | RA |
SI optimize exec mask operations pre | false |
This pass performs exec mask handling peephole optimizations which needs to be done before register allocation to reduce register pressure.
Definition in file SIOptimizeExecMaskingPreRA.cpp.
#define DEBUG_TYPE "si-optimize-exec-masking-pre-ra" |
Definition at line 24 of file SIOptimizeExecMaskingPreRA.cpp.
INITIALIZE_PASS_BEGIN | ( | SIOptimizeExecMaskingPreRA | , |
DEBUG_TYPE | , | ||
"SI optimize exec mask operations pre-RA" | , | ||
false | , | ||
false | |||
) |
Definition at line 83 of file SIOptimizeExecMaskingPreRA.cpp.
References llvm::LiveQueryResult::isKill(), llvm::LiveRange::Query(), llvm::LiveQueryResult::valueIn(), and llvm::LiveQueryResult::valueOut().
Referenced by isDefBetween().
|
static |
Definition at line 90 of file SIOptimizeExecMaskingPreRA.cpp.
References llvm::And, llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getInterval(), llvm::SlotIndex::getRegSlot(), llvm::LiveIntervals::getRegUnit(), isDefBetween(), and TRI.
DEBUG_TYPE |
Definition at line 70 of file SIOptimizeExecMaskingPreRA.cpp.
SI optimize exec mask operations pre false |
Definition at line 71 of file SIOptimizeExecMaskingPreRA.cpp.
SI optimize exec mask operations pre RA |
Definition at line 71 of file SIOptimizeExecMaskingPreRA.cpp.
Referenced by llvm::rdf::PhysicalRegisterInfo::alias(), llvm::FunctionComparator::cmpConstants(), llvm::rdf::DeadCodeElimination::collect(), CompareSCEVComplexity(), CompareValueComplexity(), llvm::rdf::Liveness::computeLiveIns(), createPPCMCRegisterInfo(), createX86MCRegisterInfo(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::rdf::DeadCodeElimination::erase(), getExactSDiv(), llvm::rdf::RefNode::getNextRef(), llvm::rdf::DataFlowGraph::getNextRelated(), llvm::rdf::DataFlowGraph::getNextShadow(), llvm::rdf::DataFlowGraph::getRelatedRefs(), INITIALIZE_PASS(), llvm::MCRegisterInfo::InitMCRegisterInfo(), llvm::rdf::RegisterAggr::isCoverOf(), llvm::rdf::printRefHeader(), llvm::object::resolveRISCV(), llvm::InstCombinerImpl::SimplifyDemandedUseBits(), llvm::ScalarEvolution::SimplifyICmpOperands(), uses(), and value().