aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-09-24 15:42:27 +0000
committerChris Lattner <sabre@nondot.org>2002-09-24 15:42:27 +0000
commit87944916a4764dabc2f89cbec0a6c7e439c28530 (patch)
tree7667b03ce31c3e98efdea7d7c4570b17ae5a0f9b
parent93c26685bf80f38c4b23d0ed9b0735d6dbb9c1d3 (diff)
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3906 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Transforms/Scalar.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h
index d952ead2d7..188e3e298f 100644
--- a/include/llvm/Transforms/Scalar.h
+++ b/include/llvm/Transforms/Scalar.h
@@ -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 &