Normalize successors' probabilities when building MBBs for jump table.
[oota-llvm.git] / lib / Analysis / RegionInfo.cpp
index 46aa1bcf0458eac2c5c808a6dfe3b8d191251600..f59d267303276759d90cf1e11e580789fcc28f62 100644 (file)
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Analysis/RegionInfo.h"
-#include "llvm/Analysis/RegionInfoImpl.h"
 #include "llvm/ADT/PostOrderIterator.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Analysis/LoopInfo.h"
+#include "llvm/Analysis/RegionInfoImpl.h"
 #include "llvm/Analysis/RegionIterator.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Debug.h"
@@ -21,6 +21,9 @@
 #include <algorithm>
 #include <iterator>
 #include <set>
+#ifndef NDEBUG
+#include "llvm/Analysis/RegionPrinter.h"
+#endif
 
 using namespace llvm;
 
@@ -91,10 +94,8 @@ void RegionInfo::updateStatistics(Region *R) {
     ++numSimpleRegions;
 }
 
-void RegionInfo::RegionInfo::recalculate(Function &F,
-                                         DominatorTree *DT_,
-                                         PostDominatorTree *PDT_,
-                                         DominanceFrontier *DF_) {
+void RegionInfo::recalculate(Function &F, DominatorTree *DT_,
+                             PostDominatorTree *PDT_, DominanceFrontier *DF_) {
   DT = DT_;
   PDT = PDT_;
   DF = DF_;
@@ -105,6 +106,12 @@ void RegionInfo::RegionInfo::recalculate(Function &F,
   calculate(F);
 }
 
+#ifndef NDEBUG
+void RegionInfo::view() { viewRegion(this); }
+
+void RegionInfo::viewOnly() { viewRegionOnly(this); }
+#endif
+
 //===----------------------------------------------------------------------===//
 // RegionInfoPass implementation
 //
@@ -147,9 +154,11 @@ void RegionInfoPass::print(raw_ostream &OS, const Module *) const {
   RI.print(OS);
 }
 
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
 void RegionInfoPass::dump() const {
   RI.dump();
 }
+#endif
 
 char RegionInfoPass::ID = 0;