diff options
Diffstat (limited to 'lib/Transforms/Utils/BreakCriticalEdges.cpp')
-rw-r--r-- | lib/Transforms/Utils/BreakCriticalEdges.cpp | 31 |
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(); } |