LLVM 17.0.0git
Public Member Functions | List of all members
llvm::DivergenceInfo Class Reference

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

Detailed Description

Definition at line 142 of file DivergenceAnalysis.h.

Constructor & Destructor Documentation

◆ DivergenceInfo()

DivergenceInfo::DivergenceInfo ( Function F,
const DominatorTree DT,
const PostDominatorTree PDT,
const LoopInfo LI,
const TargetTransformInfo TTI,
bool  KnownReducible 
)

Member Function Documentation

◆ getFunction()

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

The GPU kernel this analysis result is for.

Definition at line 164 of file DivergenceAnalysis.h.

References F.

◆ hasDivergence()

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

Whether any divergence was detected.

Definition at line 159 of file DivergenceAnalysis.h.

◆ isDivergent()

bool llvm::DivergenceInfo::isDivergent ( const Value V) const
inline

Whether V is divergent at its definition.

Definition at line 167 of file DivergenceAnalysis.h.

Referenced by isUniform().

◆ isDivergentUse()

bool llvm::DivergenceInfo::isDivergentUse ( const Use U) const
inline

Whether U is divergent. Uses of a uniform value can be divergent.

Definition at line 172 of file DivergenceAnalysis.h.

Referenced by isUniformUse().

◆ isUniform()

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

Whether V is uniform/non-divergent.

Definition at line 177 of file DivergenceAnalysis.h.

References isDivergent().

◆ isUniformUse()

bool llvm::DivergenceInfo::isUniformUse ( const Use U) const
inline

Whether U is uniform/non-divergent.

Uses of a uniform value can be divergent.

Definition at line 181 of file DivergenceAnalysis.h.

References isDivergentUse().


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