Get rid of static constructors for pass registration. Instead, every pass exposes...
[oota-llvm.git] / tools / llvm-ld / llvm-ld.cpp
index 73280c64c950804ab93ffaf5f245d4950c356546..d461fef8fec9c5697eb4599195954d960eb52826 100644 (file)
@@ -514,6 +514,17 @@ int main(int argc, char **argv, char **envp) {
   LLVMContext &Context = getGlobalContext();
   llvm_shutdown_obj Y;  // Call llvm_shutdown() on exit.
   
+  // Initialize passes
+  PassRegistry &Registry = *PassRegistry::getPassRegistry();
+  initializeCore(Registry);
+  initializeScalarOpts(Registry);
+  initializeIPO(Registry);
+  initializeAnalysis(Registry);
+  initializeIPA(Registry);
+  initializeTransformUtils(Registry);
+  initializeInstCombine(Registry);
+  initializeTarget(Registry);
+  
   // Initial global variable above for convenience printing of program name.
   progname = sys::Path(argv[0]).getBasename();