Move isCriticalEdge & SplitCritical edge out of this file, which is only

for passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9851 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-11-10 04:09:44 +00:00
parent 9058349aa4
commit 4a05ba0ab5

View File

@ -216,27 +216,11 @@ FunctionPass *createCFGSimplificationPass();
// AU.addRequiredID(BreakCriticalEdgesID);
//
// This pass obviously invalidates the CFG, but can update forward dominator
// (set, immediate dominators, and tree) information.
// (set, immediate dominators, tree, and frontier) information.
//
Pass *createBreakCriticalEdgesPass();
extern const PassInfo *BreakCriticalEdgesID;
// The BreakCriticalEdges pass also exposes some low-level functionality that
// may be used by other passes.
/// isCriticalEdge - Return true if the specified edge is a critical edge.
/// Critical edges are edges from a block with multiple successors to a block
/// with multiple predecessors.
///
bool isCriticalEdge(const TerminatorInst *TI, unsigned SuccNum);
/// SplitCriticalEdge - Insert a new node node to split the critical edge. This
/// will update DominatorSet, ImmediateDominator and DominatorTree information
/// if a pass is specified, thus calling this pass will not invalidate these
/// analyses.
///
void SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, Pass *P = 0);
//===----------------------------------------------------------------------===//
//
// LoopSimplify pass - Insert Pre-header blocks into the CFG for every function