|
LLVM 22.0.0git
|
This pass performs exec mask handling peephole optimizations which needs to be done before register allocation to reduce register pressure. More...
#include "SIOptimizeExecMaskingPreRA.h"#include "AMDGPU.h"#include "AMDGPULaneMaskUtils.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 (SIOptimizeExecMaskingPreRALegacy, DEBUG_TYPE, "SI optimize exec mask operations pre-RA", false, false) INITIALIZE_PASS_END(SIOptimizeExecMaskingPreRALegacy | |
| 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 26 of file SIOptimizeExecMaskingPreRA.cpp.
| INITIALIZE_PASS_BEGIN | ( | SIOptimizeExecMaskingPreRALegacy | , |
| DEBUG_TYPE | , | ||
| "SI optimize exec mask operations pre-RA" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
Definition at line 93 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 100 of file SIOptimizeExecMaskingPreRA.cpp.
References llvm::LiveIntervals::getInstructionIndex(), llvm::LiveIntervals::getInterval(), llvm::SlotIndex::getRegSlot(), llvm::LiveIntervals::getRegUnit(), isDefBetween(), Reg, and TRI.
| DEBUG_TYPE |
Definition at line 80 of file SIOptimizeExecMaskingPreRA.cpp.
| SI optimize exec mask operations pre false |
Definition at line 81 of file SIOptimizeExecMaskingPreRA.cpp.
| SI optimize exec mask operations pre RA |
Definition at line 81 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(), llvm::RegAllocEvictionAdvisorProvider::getAdvisor(), llvm::RegAllocPriorityAdvisorProvider::getAdvisor(), llvm::ReleaseModePriorityAdvisorProvider::getAdvisor(), getExactSDiv(), llvm::rdf::RefNode::getNextRef(), llvm::rdf::DataFlowGraph::getNextRelated(), llvm::rdf::DataFlowGraph::getNextShadow(), llvm::rdf::DataFlowGraph::getRelatedRefs(), INITIALIZE_PASS(), INITIALIZE_PASS(), INITIALIZE_PASS(), llvm::MCRegisterInfo::InitMCRegisterInfo(), llvm::rdf::RegisterAggr::isCoverOf(), llvm::MCSubtargetInfo::MCSubtargetInfo(), llvm::MCSubtargetInfo::MCSubtargetInfo(), llvm::MipsRegisterInfo::MipsRegisterInfo(), llvm::rdf::printRefHeader(), llvm::object::resolveRISCV(), llvm::sframe::FREInfo< E >::setFREInfo(), llvm::sframe::FREInfo< E >::setReturnAddressSigned(), llvm::ScalarEvolution::SimplifyICmpOperands(), llvm::SystemZRegisterInfo::SystemZRegisterInfo(), and llvm::TargetSubtargetInfo::TargetSubtargetInfo().