llvm::nonStrictlyPostDominate

Return true if ThisBlock is reached after OtherBlock in the CFG.

Synopsis

Declared in <llvm/Transforms/Utils/CodeMoverUtils.h>

bool
nonStrictlyPostDominate(
    BasicBlock const* ThisBlock,
    BasicBlock const* OtherBlock,
    DominatorTree const* DT,
    PostDominatorTree const* PDT);

Description

In case that two BBs ThisBlock and OtherBlock are control flow equivalent but they do not strictly dominate and post-dominate each other, we determine if ThisBlock is reached after OtherBlock in the control flow.

Return Value

True if ThisBlock is reached after OtherBlock in the CFG.

Parameters

NameDescription
ThisBlockBlock that may be reached later.
OtherBlockBlock that may be reached earlier.
DTDominator tree used to find a common dominator.
PDTPost-dominator tree used to order the blocks.