Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by

other passes

llvm-svn: 3906
This commit is contained in:
Chris Lattner 2002-09-24 15:42:27 +00:00
parent 47c2e3e952
commit 13fea86b05
1 changed files with 9 additions and 6 deletions

View File

@ -10,8 +10,8 @@
class Pass; class Pass;
class TargetData; class TargetData;
class BasicBlock;
class GetElementPtrInst; class GetElementPtrInst;
class PassInfo;
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// //
@ -162,7 +162,7 @@ Pass *createReassociatePass();
// //
// This pass eliminates correlated conditions, such as these: // This pass eliminates correlated conditions, such as these:
// if (X == 0) // if (X == 0)
// if (X > 2) // Known false // if (X > 2) ; // Known false
// else // else
// Y = X * Z; // = 0 // Y = X * Z; // = 0
// //
@ -179,12 +179,15 @@ Pass *createCFGSimplificationPass();
// //
// BreakCriticalEdges pass - Break all of the critical edges in the CFG by // BreakCriticalEdges pass - Break all of the critical edges in the CFG by
// inserting a dummy basic block. This pass may be "required" by passes that // inserting a dummy basic block. This pass may be "required" by passes that
// cannot deal with critical edges. For this usage, the structure type is // cannot deal with critical edges. For this usage, a pass must call:
// forward declared. This pass obviously invalidates the CFG, but can update //
// forward dominator (set, immediate dominators, and tree) information. // AU.addRequiredID(BreakCriticalEdgesID);
//
// This pass obviously invalidates the CFG, but can update forward dominator
// (set, immediate dominators, and tree) information.
// //
class BreakCriticalEdges;
Pass *createBreakCriticalEdgesPass(); Pass *createBreakCriticalEdgesPass();
extern const PassInfo *BreakCriticalEdgesID;
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// These two passes convert malloc and free instructions to and from %malloc & // These two passes convert malloc and free instructions to and from %malloc &