|
LLVM
8.0.1
|
Divergence analysis frontend for GPU kernels. More...
#include "llvm/Analysis/DivergenceAnalysis.h"
Public Member Functions | |
| GPUDivergenceAnalysis (Function &F, const DominatorTree &DT, const PostDominatorTree &PDT, const LoopInfo &LI, const TargetTransformInfo &TTI) | |
| Runs the divergence analysis on , a GPU kernel. More... | |
| bool | hasDivergence () const |
| Whether any divergence was detected. More... | |
| const Function & | getFunction () const |
| The GPU kernel this analysis result is for. More... | |
| bool | isDivergent (const Value &V) const |
Whether V is divergent. More... | |
| bool | isUniform (const Value &V) const |
Whether V is uniform/non-divergent. More... | |
| void | print (raw_ostream &OS, const Module *) const |
| Print all divergent values in the kernel. More... | |
Divergence analysis frontend for GPU kernels.
Definition at line 177 of file DivergenceAnalysis.h.
| GPUDivergenceAnalysis::GPUDivergenceAnalysis | ( | Function & | F, |
| const DominatorTree & | DT, | ||
| const PostDominatorTree & | PDT, | ||
| const LoopInfo & | LI, | ||
| const TargetTransformInfo & | TTI | ||
| ) |
Runs the divergence analysis on , a GPU kernel.
Definition at line 427 of file DivergenceAnalysis.cpp.
References llvm::DivergenceAnalysis::addUniformOverride(), Arg, llvm::Function::args(), llvm::DivergenceAnalysis::compute(), llvm::instructions(), llvm::TargetTransformInfo::isAlwaysUniform(), llvm::TargetTransformInfo::isSourceOfDivergence(), and llvm::DivergenceAnalysis::markDivergent().
The GPU kernel this analysis result is for.
Definition at line 191 of file DivergenceAnalysis.h.
References llvm::DivergenceAnalysis::getFunction(), and llvm::DivergenceAnalysis::isDivergent().
|
inline |
Whether any divergence was detected.
Definition at line 188 of file DivergenceAnalysis.h.
References llvm::DivergenceAnalysis::hasDetectedDivergence().
Whether V is divergent.
Definition at line 449 of file DivergenceAnalysis.cpp.
References llvm::DivergenceAnalysis::isDivergent().
Whether V is uniform/non-divergent.
Definition at line 197 of file DivergenceAnalysis.h.
References llvm::DivergenceAnalysis::isDivergent(), and llvm::DivergenceAnalysis::print().
| void GPUDivergenceAnalysis::print | ( | raw_ostream & | OS, |
| const Module * | mod | ||
| ) | const |
Print all divergent values in the kernel.
Definition at line 453 of file DivergenceAnalysis.cpp.
References llvm::DivergenceAnalysis::getFunction(), llvm::Value::getName(), and llvm::DivergenceAnalysis::print().
1.8.13