|
LLVM 22.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 | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
| Rewrite undef for false bool rewritePHIs | ( | Function & | F, |
| UniformityInfo & | UA, | ||
| DominatorTree * | DT ) |
Definition at line 100 of file AMDGPURewriteUndefForPHI.cpp.
References llvm::all_of(), Changed, llvm::SmallVectorTemplateCommon< T, typename >::empty(), F, llvm::BasicBlock::getTerminator(), llvm::isa(), PHI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and rewritePHIs().
Referenced by llvm::coro::normalizeCoroutine(), rewritePHIs(), rewritePHIs(), and llvm::AMDGPURewriteUndefForPHIPass::run().
| DEBUG_TYPE |
Definition at line 97 of file AMDGPURewriteUndefForPHI.cpp.
| Rewrite undef for false |
Definition at line 98 of file AMDGPURewriteUndefForPHI.cpp.
| Rewrite undef for PHI |
Definition at line 98 of file AMDGPURewriteUndefForPHI.cpp.
Referenced by llvm::SSAUpdaterTraits< DebugSSAUpdater >::AddPHIOperand(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::AddPHIOperand(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::AddPHIOperand(), llvm::SSAUpdaterTraits< SSAUpdater >::AddPHIOperand(), analyzeLoopUnrollCost(), llvm::CombinerHelper::applyExtendThroughPhis(), areInnerLoopExitPHIsSupported(), areInnerLoopLatchPHIsSupported(), areOuterLoopExitPHIsSupported(), breakSelfRecursivePHI(), canRewriteGEPAsOffset(), llvm::SSAUpdaterImpl< UpdaterT >::CheckIfPHIMatches(), cloneLoopBlocks(), convertToParamAS(), llvm::SSAUpdaterTraits< DebugSSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::CreateEmptyPHI(), llvm::SSAUpdaterTraits< SSAUpdater >::CreateEmptyPHI(), deduplicatePass(), llvm::DeleteDeadPHIs(), dependsOnLocalPhi(), DoFlattenLoopPair(), ensureValueAvailableInSuccessor(), expandToSwitch(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), findInnerReductionPhi(), findPHIForConditionForwarding(), llvm::InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse(), foldMemChr(), followLCSSA(), llvm::ValueDFS_Compare::getBlockEdge(), getCaseResults(), getConstantEvolvingPHIOperands(), getInsertPointForUses(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::MachineTraceMetrics::Trace::getPHIDepth(), llvm::SSAUpdaterTraits< DebugSSAUpdater >::GetPHIValue(), 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::InlineFunctionImpl(), llvm::insertDebugValuesForPHIs(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::Attributor::isAssumedDead(), IsEquivalentPHI(), llvm::CombinerHelper::matchExtendThroughPhis(), llvm::InsertPHIStrategy::mutate(), llvm::operator<<(), llvm::peelLoop(), llvm::SSAUpdaterTraits< DebugSSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_begin(), llvm::SSAUpdaterTraits< DebugSSAUpdater >::PHI_end(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_end(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_end(), llvm::SSAUpdaterTraits< SSAUpdater >::PHI_end(), PHIAreRefEachOther(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::SSAUpdaterImpl< UpdaterT >::RecordMatchingPHIs(), removeSwitchAfterSelectFold(), removeUndefIntroducingPredecessor(), replaceIfIdentical(), llvm::SSAUpdaterBulk::RewriteAllUses(), rewriteGEPAsOffset(), rewritePHIs(), setInsertionPoint(), simplifyPass(), simplifySwitchLookup(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), llvm::fuzzerop::splitBlockDescriptor(), trySwitchToSelect(), llvm::UnrollLoop(), updateOperand(), llvm::SSAUpdaterTraits< DebugSSAUpdater >::ValueIsNewPHI(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::ValueIsNewPHI(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::ValueIsNewPHI(), llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsNewPHI(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitFreeze(), DataScalarizerVisitor::visitPHINode(), llvm::ObjectSizeOffsetEvaluator::visitPHINode(), and llvm::VPPhi::VPPhi().