ΒΆbool isControlFlowEquivalent(
    const llvm::BasicBlock& BB0,
    const llvm::BasicBlock& BB1,
    const llvm::DominatorTree& DT,
    const llvm::PostDominatorTree& PDT)

Description

Return true if \p BB0 and \p BB1 are control flow equivalent. Two basic blocks are control flow equivalent if when one executes, the other is guaranteed to execute. This is determined using dominators and post-dominators: if A dominates B and B post-dominates A then A and B are control-flow equivalent.

Declared at: llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h:39

Parameters

const llvm::BasicBlock& BB0
const llvm::BasicBlock& BB1
const llvm::DominatorTree& DT
const llvm::PostDominatorTree& PDT