llvm::getOutermostDivergentCycle

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

Opaque handle to a cycle within a GenericCycleInfo that wraps the cycle's preorder index. Handles remain valid as long as the cycle forest is not recomputed; addBlockToCycle() adds a block but never adds, removes, or reorders cycles, so it leaves every handle valid.

Parameters

NameDescription
CycleOpaque handle to a cycle within a GenericCycleInfo that wraps the cycle's preorder index. Handles remain valid as long as the cycle forest is not recomputed; addBlockToCycle() adds a block but never adds, removes, or reorders cycles, so it leaves every handle valid.