forked from OSchip/llvm-project
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes llvm-svn: 3906
This commit is contained in:
parent
47c2e3e952
commit
13fea86b05
|
@ -10,8 +10,8 @@
|
|||
|
||||
class Pass;
|
||||
class TargetData;
|
||||
class BasicBlock;
|
||||
class GetElementPtrInst;
|
||||
class PassInfo;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
|
@ -162,7 +162,7 @@ Pass *createReassociatePass();
|
|||
//
|
||||
// This pass eliminates correlated conditions, such as these:
|
||||
// if (X == 0)
|
||||
// if (X > 2) // Known false
|
||||
// if (X > 2) ; // Known false
|
||||
// else
|
||||
// Y = X * Z; // = 0
|
||||
//
|
||||
|
@ -179,12 +179,15 @@ Pass *createCFGSimplificationPass();
|
|||
//
|
||||
// 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
|
||||
// cannot deal with critical edges. For this usage, the structure type is
|
||||
// forward declared. This pass obviously invalidates the CFG, but can update
|
||||
// forward dominator (set, immediate dominators, and tree) information.
|
||||
// cannot deal with critical edges. For this usage, a pass must call:
|
||||
//
|
||||
// AU.addRequiredID(BreakCriticalEdgesID);
|
||||
//
|
||||
// This pass obviously invalidates the CFG, but can update forward dominator
|
||||
// (set, immediate dominators, and tree) information.
|
||||
//
|
||||
class BreakCriticalEdges;
|
||||
Pass *createBreakCriticalEdgesPass();
|
||||
extern const PassInfo *BreakCriticalEdgesID;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// These two passes convert malloc and free instructions to and from %malloc &
|
||||
|
|
Loading…
Reference in New Issue