Keep track of all modules crated using a name to module map.
[oota-llvm.git] / include / llvm / LinkTimeOptimizer.h
index d20d21e4c025adbf3a86aa5ec2c887bb128d8fd0..76a7af66da0c583ff5ab487923b82ab969ed0932 100644 (file)
@@ -83,6 +83,8 @@ namespace llvm {
   public:
     typedef hash_map<const char*, LLVMSymbol*, hash<const char*>, 
                      string_compare> NameToSymbolMap;
+    typedef hash_map<const char*, Module*, hash<const char*>, 
+                     string_compare> NameToModuleMap;
 
     enum LTOStatus readLLVMObjectFile(const std::string &InputFilename,
                                       NameToSymbolMap &symbols,
@@ -91,9 +93,13 @@ namespace llvm {
                                    std::vector<const char*> &exportList,
                                    std::string &targetTriple);
 
+  private:
+    Module *getModule (const std::string &InputFilename);
+
   private:
     std::vector<Module *> modules;
     NameToSymbolMap allSymbols;
+    NameToModuleMap allModules;
   };
 
 } // End llvm namespace