ΒΆbool isControlFlowEquivalent(
    const llvm::Instruction& I0,
    const llvm::Instruction& I1,
    const llvm::DominatorTree& DT,
    const llvm::PostDominatorTree& PDT)

Description

Return true if \p I0 and \p I1 are control flow equivalent. Two instructions 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:30

Parameters

const llvm::Instruction& I0
const llvm::Instruction& I1
const llvm::DominatorTree& DT
const llvm::PostDominatorTree& PDT