Return the outermost cycle made divergent by a join of paths from DivTermBlock through JoinBlock.

Synopsis

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);

Return Value

Outermost divergent cycle, preferring the internal criterion, or null if none.

Parameters

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.

Created with MrDocs