[#llvm-getExtDivCycle] = xref:llvm.adoc[llvm]::getExtDivCycle :relfileprefix: ../ :mrdocs: Return the outermost cycle made divergent by branch outside it. == Synopsis Declared in `<llvm/ADT/GenericUniformityImpl.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename CycleInfoT, typename BlockT> xref:llvm/CycleRef.adoc[CycleRef] getExtDivCycle( CycleInfoT const& CI, xref:llvm/CycleRef.adoc[CycleRef] Cycle, BlockT const* DivTermBlock, BlockT const* JoinBlock); ---- == Description If two paths that diverged outside an irreducible cycle join inside that cycle, then that whole cycle is assumed to be divergent. This does not apply if the cycle is reducible. == Return Value Outermost irreducible cycle made divergent by an external branch, or null if none. == Parameters [cols="1,4"] |=== | Name| Description | *CI* | Cycle information for the function. | *Cycle* | Cycle containing `JoinBlock` to expand from. | *DivTermBlock* | Block of the divergent terminator outside the cycle. | *JoinBlock* | Block where diverged paths join inside the cycle. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#