LLVM 20.0.0git
|
#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 |
#define DEBUG_TYPE "amdgpu-rewrite-undef-for-phi" |
Definition at line 68 of file AMDGPURewriteUndefForPHI.cpp.
INITIALIZE_PASS_BEGIN | ( | AMDGPURewriteUndefForPHILegacy | , |
DEBUG_TYPE | , | ||
"Rewrite undef for PHI" | , | ||
false | , | ||
false | |||
) |
Rewrite undef for false bool rewritePHIs | ( | Function & | F, |
UniformityInfo & | UA, | ||
DominatorTree * | DT | ||
) |
Definition at line 102 of file AMDGPURewriteUndefForPHI.cpp.
References llvm::all_of(), llvm::DominatorTree::dominates(), llvm::SmallVectorBase< Size_T >::empty(), F, llvm::BasicBlock::getTerminator(), PHI, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::AMDGPURewriteUndefForPHIPass::run().
DEBUG_TYPE |
Definition at line 99 of file AMDGPURewriteUndefForPHI.cpp.
Rewrite undef for false |
Definition at line 100 of file AMDGPURewriteUndefForPHI.cpp.
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(), convertToParamAS(), 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(), foldMemChr(), 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::MachineTraceMetrics::Trace::getPHIDepth(), 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::sandboxir::PHIRemoveIncoming::PHIRemoveIncoming(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::SSAUpdaterImpl< UpdaterT >::RecordMatchingPHIs(), removeSwitchAfterSelectFold(), removeUndefIntroducingPredecessor(), rewriteGEPAsOffset(), rewritePHIs(), setInsertionPoint(), 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(), llvm::InstCombinerImpl::visitAdd(), and llvm::ObjectSizeOffsetEvaluator::visitPHINode().