LLVM  8.0.1
Public Member Functions | List of all members
llvm::GPUDivergenceAnalysis Class Reference

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 FunctiongetFunction () 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...
 

Detailed Description

Divergence analysis frontend for GPU kernels.

Definition at line 177 of file DivergenceAnalysis.h.

Constructor & Destructor Documentation

◆ GPUDivergenceAnalysis()

GPUDivergenceAnalysis::GPUDivergenceAnalysis ( Function F,
const DominatorTree DT,
const PostDominatorTree PDT,
const LoopInfo LI,
const TargetTransformInfo TTI 
)

Member Function Documentation

◆ getFunction()

const Function& llvm::GPUDivergenceAnalysis::getFunction ( ) const
inline

The GPU kernel this analysis result is for.

Definition at line 191 of file DivergenceAnalysis.h.

References llvm::DivergenceAnalysis::getFunction(), and llvm::DivergenceAnalysis::isDivergent().

◆ hasDivergence()

bool llvm::GPUDivergenceAnalysis::hasDivergence ( ) const
inline

Whether any divergence was detected.

Definition at line 188 of file DivergenceAnalysis.h.

References llvm::DivergenceAnalysis::hasDetectedDivergence().

◆ isDivergent()

bool GPUDivergenceAnalysis::isDivergent ( const Value V) const

Whether V is divergent.

Definition at line 449 of file DivergenceAnalysis.cpp.

References llvm::DivergenceAnalysis::isDivergent().

◆ isUniform()

bool llvm::GPUDivergenceAnalysis::isUniform ( const Value V) const
inline

Whether V is uniform/non-divergent.

Definition at line 197 of file DivergenceAnalysis.h.

References llvm::DivergenceAnalysis::isDivergent(), and llvm::DivergenceAnalysis::print().

◆ 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().


The documentation for this class was generated from the following files: