Computes which values and terminators are uniform vs divergent in a function.
Synopsis
Declared in <llvm/ADT/GenericUniformityInfo.h>
template<typename ContextT>
class GenericUniformityInfo;
Description
Templated on an IR context that supplies block, value, and cycle types so the same algorithm works for LLVM IR and other IRs.
Type Aliases
Name |
Description |
Basic‐block type from the IR context. |
|
Const value reference type from the IR context. |
|
Cycle‐nesting analysis used while computing uniformity. |
|
Dominator‐tree type from the IR context. |
|
Function type from the IR context. |
|
Instruction type from the IR context. |
|
Tuple describing a temporally divergent value: value, use site, and cycle. |
|
Alias for this specialization of GenericUniformityInfo. |
|
Use type from the IR context. |
|
Mutable value reference type from the IR context. |
Member Functions
Name |
Description |
|
Constructors |
Move‐assign, taking ownership of the analysis implementation. |
|
Run the uniformity analysis, filling divergence results. |
|
Call before erasing |
|
The cycle info this analysis was computed with. |
|
The GPU kernel this analysis result is for |
|
Return the list of temporally divergent (value, use, cycle) tuples. |
|
Return true if block |
|
Whether |
|
Whether |
|
Return true if terminator |
|
Whether |
|
Whether |
|
Return true if terminator |
|
T helper function for printing. |
Specializations
Name |
Created with MrDocs