Add new BreakCriticalEdges pass
authorChris Lattner <sabre@nondot.org>
Tue, 24 Sep 2002 00:08:37 +0000 (00:08 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 24 Sep 2002 00:08:37 +0000 (00:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/Scalar.h

index 20dd48e2de48403f285398df0c94266293d00bc5..d952ead2d718453464f8de4f21bb136b4fe4e036 100644 (file)
@@ -175,6 +175,16 @@ Pass *createCorrelatedExpressionEliminationPass();
 //
 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.
+//
+class BreakCriticalEdges;
+Pass *createBreakCriticalEdgesPass();
 
 //===----------------------------------------------------------------------===//
 // These two passes convert malloc and free instructions to and from %malloc &