aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-09-24 00:08:37 +0000
committerChris Lattner <sabre@nondot.org>2002-09-24 00:08:37 +0000
commit119e9ea33be3b1c5af4a8af7fd12817281fdd478 (patch)
treefb617b70577ce27821d668e6aa29c7396b685589 /include/llvm/Transforms
parent2d237858523b56ea5ea0f6efdbd40d7e7c52e771 (diff)
downloadexternal_llvm-119e9ea33be3b1c5af4a8af7fd12817281fdd478.zip
external_llvm-119e9ea33be3b1c5af4a8af7fd12817281fdd478.tar.gz
external_llvm-119e9ea33be3b1c5af4a8af7fd12817281fdd478.tar.bz2
Add new BreakCriticalEdges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms')
-rw-r--r--include/llvm/Transforms/Scalar.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h
index 20dd48e..d952ead 100644
--- a/include/llvm/Transforms/Scalar.h
+++ b/include/llvm/Transforms/Scalar.h
@@ -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 &