LLVM 19.0.0git
Macros | Functions | Variables
AMDGPURewriteUndefForPHI.cpp File Reference
#include "AMDGPU.h"
#include "llvm/Analysis/UniformityAnalysis.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instructions.h"
#include "llvm/InitializePasses.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-rewrite-undef-for-phi"
 

Functions

 INITIALIZE_PASS_BEGIN (AMDGPURewriteUndefForPHILegacy, DEBUG_TYPE, "Rewrite undef for PHI", false, false) INITIALIZE_PASS_END(AMDGPURewriteUndefForPHILegacy
 
Rewrite undef for false bool rewritePHIs (Function &F, UniformityInfo &UA, DominatorTree *DT)
 

Variables

 DEBUG_TYPE
 
Rewrite undef for PHI
 
Rewrite undef for false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-rewrite-undef-for-phi"

Definition at line 68 of file AMDGPURewriteUndefForPHI.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AMDGPURewriteUndefForPHILegacy  ,
DEBUG_TYPE  ,
"Rewrite undef for PHI"  ,
false  ,
false   
)

◆ rewritePHIs()

Rewrite undef for false bool rewritePHIs ( Function F,
UniformityInfo UA,
DominatorTree DT 
)

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 99 of file AMDGPURewriteUndefForPHI.cpp.

◆ false

Rewrite undef for false

Definition at line 100 of file AMDGPURewriteUndefForPHI.cpp.

◆ PHI

Rewrite undef for PHI

Definition at line 100 of file AMDGPURewriteUndefForPHI.cpp.

Referenced by llvm::SSAUpdaterTraits< LDVSSAUpdater >::AddPHIOperand(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::AddPHIOperand(), llvm::SSAUpdaterTraits< SSAUpdater >::AddPHIOperand(), analyzeLoopUnrollCost(), llvm::CombinerHelper::applyExtendThroughPhis(), areInnerLoopExitPHIsSupported(), areInnerLoopLatchPHIsSupported(), areOuterLoopExitPHIsSupported(), canRewriteGEPAsOffset(), llvm::SSAUpdaterImpl< UpdaterT >::CheckIfPHIMatches(), cloneLoopBlocks(), llvm::SSAUpdaterTraits< SSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::CreateEmptyPHI(), dependsOnLocalPhi(), DoFlattenLoopPair(), ensureValueAvailableInSuccessor(), llvm::JumpThreadingPass::evaluateOnPredecessorEdge(), expandToSwitch(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), findInnerReductionPhi(), FindPHIForConditionForwarding(), llvm::InnerLoopVectorizer::fixupIVUsers(), followLCSSA(), llvm::ValueDFS_Compare::getBlockEdge(), getCaseResults(), getConstantEvolvingPHIOperands(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_iterator::getIncomingBlock(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_iterator::getIncomingBlock(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_iterator::getIncomingBlock(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_iterator::getIncomingValue(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_iterator::getIncomingValue(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_iterator::getIncomingValue(), getInsertPointForUses(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::Instruction::getOpcodeName(), llvm::MachineTraceMetrics::Trace::getPHIDepth(), getPHIDestReg(), getPHINumInputs(), getPHIPred(), getPHISourceReg(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::GetPHIValue(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::GetPHIValue(), llvm::SSAUpdaterTraits< SSAUpdater >::GetPHIValue(), llvm::LazyValueInfo::getPredicateAt(), llvm::getUnderlyingObject(), llvm::LazyValueInfoImpl::getValueAtUse(), HandleInlinedEHPad(), llvm::LiveIntervals::hasPHIKill(), initializeUniqueCases(), llvm::InlineFunction(), insertDbgVariableRecordsForPHIs(), llvm::insertDebugValuesForPHIs(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::Attributor::isAssumedDead(), IsEquivalentPHI(), llvm::CombinerHelper::matchExtendThroughPhis(), llvm::InsertPHIStrategy::mutate(), llvm::peelLoop(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_end(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_end(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_end(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::SSAUpdaterImpl< UpdaterT >::RecordMatchingPHIs(), removeSwitchAfterSelectFold(), removeUndefIntroducingPredecessor(), rewriteGEPAsOffset(), rewritePHIs(), setInsertionPoint(), setPhiPred(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), llvm::fuzzerop::splitBlockDescriptor(), SwitchToLookupTable(), trySwitchToSelect(), llvm::UnrollLoop(), updateOperand(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::ValueIsNewPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::ValueIsNewPHI(), llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsNewPHI(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), and llvm::ObjectSizeOffsetEvaluator::visitPHINode().