Return the outermost cycle made divergent by a join of paths from DivTermBlock through JoinBlock.
Declared in <llvm/ADT/GenericUniformityImpl.h>
template<
typename ContextT,
typename CycleInfoT,
typename BlockT,
typename DominatorTreeT>
CycleRef
getOutermostDivergentCycle(
CycleInfoT const& CI,
CycleRef Cycle,
BlockT const* DivTermBlock,
BlockT const* JoinBlock,
DominatorTreeT const& DT,
ContextT& Context);
Outermost divergent cycle, preferring the internal criterion, or null if none.
| Name | Description |
|---|---|
| CI | Cycle information for the function. |
| Cycle | Innermost cycle containing JoinBlock to expand from. |
| DivTermBlock | Block of the divergent terminator that seeded the paths. |
| JoinBlock | Block where diverged paths join. |
| DT | Dominator tree used for the internal-divergence criterion. |
| Context | SSA context used for debug printing. |