LLVM 17.0.0git
|
#include "llvm/Analysis/DivergenceAnalysis.h"
Public Member Functions | |
DivergenceInfo (Function &F, const DominatorTree &DT, const PostDominatorTree &PDT, const LoopInfo &LI, const TargetTransformInfo &TTI, bool KnownReducible) | |
bool | hasDivergence () const |
Whether any divergence was detected. | |
const Function & | getFunction () const |
The GPU kernel this analysis result is for. | |
bool | isDivergent (const Value &V) const |
Whether V is divergent at its definition. | |
bool | isDivergentUse (const Use &U) const |
Whether U is divergent. Uses of a uniform value can be divergent. | |
bool | isUniform (const Value &V) const |
Whether V is uniform/non-divergent. | |
bool | isUniformUse (const Use &U) const |
Whether U is uniform/non-divergent. | |
Definition at line 142 of file DivergenceAnalysis.h.
DivergenceInfo::DivergenceInfo | ( | Function & | F, |
const DominatorTree & | DT, | ||
const PostDominatorTree & | PDT, | ||
const LoopInfo & | LI, | ||
const TargetTransformInfo & | TTI, | ||
bool | KnownReducible | ||
) |
Definition at line 346 of file DivergenceAnalysis.cpp.
References Arg, llvm::containsIrreducibleCFG(), F, I, instructions, llvm::TargetTransformInfo::isAlwaysUniform(), and llvm::TargetTransformInfo::isSourceOfDivergence().
The GPU kernel this analysis result is for.
Definition at line 164 of file DivergenceAnalysis.h.
References F.
|
inline |
Whether any divergence was detected.
Definition at line 159 of file DivergenceAnalysis.h.
Whether V
is divergent at its definition.
Definition at line 167 of file DivergenceAnalysis.h.
Referenced by isUniform().
Whether U
is divergent. Uses of a uniform value can be divergent.
Definition at line 172 of file DivergenceAnalysis.h.
Referenced by isUniformUse().
Whether V
is uniform/non-divergent.
Definition at line 177 of file DivergenceAnalysis.h.
References isDivergent().
Whether U
is uniform/non-divergent.
Uses of a uniform value can be divergent.
Definition at line 181 of file DivergenceAnalysis.h.
References isDivergentUse().