LLVM 17.0.0git
|
#include "llvm/Analysis/LegacyDivergenceAnalysis.h"
Public Member Functions | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
![]() | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
![]() | |
bool | isDivergent (const Value *V) const |
bool | isDivergentUse (const Use *U) const |
bool | isUniform (const Value *V) const |
bool | isUniformUse (const Use *U) const |
void | removeValue (const Value *V) |
void | print (raw_ostream &OS, const Module *) const |
bool | shouldUseGPUDivergenceAnalysis (const Function &F, const TargetTransformInfo &TTI, const LoopInfo &LI) |
void | run (Function &F, TargetTransformInfo &TTI, DominatorTree &DT, PostDominatorTree &PDT, const LoopInfo &LI) |
Additional Inherited Members | |
![]() | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
![]() | |
std::unique_ptr< DivergenceInfo > | gpuDA |
DenseSet< const Value * > | DivergentValues |
DenseSet< const Use * > | DivergentUses |
Definition at line 84 of file LegacyDivergenceAnalysis.h.
PreservedAnalyses LegacyDivergenceAnalysisPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Definition at line 418 of file LegacyDivergenceAnalysis.cpp.
References llvm::PreservedAnalyses::all(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::clear(), llvm::dbgs(), F, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::TargetTransformInfo::hasBranchDivergence(), LLVM_DEBUG, llvm::LegacyDivergenceAnalysisImpl::print(), and llvm::LegacyDivergenceAnalysisImpl::run().