aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/BreakCriticalEdges.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Utils/BreakCriticalEdges.cpp')
-rw-r--r--lib/Transforms/Utils/BreakCriticalEdges.cpp31
1 files changed, 17 insertions, 14 deletions
diff --git a/lib/Transforms/Utils/BreakCriticalEdges.cpp b/lib/Transforms/Utils/BreakCriticalEdges.cpp
index 2222a04e1d..bba65ef4ed 100644
--- a/lib/Transforms/Utils/BreakCriticalEdges.cpp
+++ b/lib/Transforms/Utils/BreakCriticalEdges.cpp
@@ -15,21 +15,24 @@
#include "llvm/InstrTypes.h"
#include "Support/StatisticReporter.h"
-static Statistic<> NumBroken("break-crit-edges\t- Number of blocks inserted");
-
-class BreakCriticalEdges : public FunctionPass {
-public:
- virtual bool runOnFunction(Function &F);
-
- virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addPreserved<DominatorSet>();
- AU.addPreserved<ImmediateDominators>();
- AU.addPreserved<DominatorTree>();
- }
-};
+namespace {
+ Statistic<> NumBroken("break-crit-edges\t- Number of blocks inserted");
+
+ struct BreakCriticalEdges : public FunctionPass {
+ virtual bool runOnFunction(Function &F);
+
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.addPreserved<DominatorSet>();
+ AU.addPreserved<ImmediateDominators>();
+ AU.addPreserved<DominatorTree>();
+ }
+ };
+
+ RegisterOpt<BreakCriticalEdges> X("break-crit-edges",
+ "Break critical edges in CFG");
+}
-static RegisterOpt<BreakCriticalEdges> X("break-crit-edges",
- "Break critical edges in CFG");
+const PassInfo *BreakCriticalEdgesID = X.getPassInfo();
Pass *createBreakCriticalEdgesPass() { return new BreakCriticalEdges(); }