+//===----------------------------------------------------------------------===//
+// PassManager implementation - The PassManager class is a simple Pimpl class
+// that wraps the PassManagerT template.
+//
+PassManager::PassManager() : PM(new PassManagerT<Module>()) {}
+PassManager::~PassManager() { delete PM; }
+void PassManager::add(Pass *P) { PM->add(P); }
+bool PassManager::run(Module *M) { return PM->run(M); }
+
+
+//===----------------------------------------------------------------------===//
+// TimingInfo Class - This class is used to calculate information about the
+// amount of time each pass takes to execute. This only happens with
+// -time-passes is enabled on the command line.
+//
+static cl::Flag EnableTiming("time-passes", "Time each pass, printing elapsed"
+ " time for each on exit");