CalculateSpillWeights does not need to be a pass
[oota-llvm.git] / include / llvm / Linker.h
index deaaca41551802232c52e270733e3ea0450eee84..4f37459eb403f38a8f85a82b0844fbaa799f32e2 100644 (file)
 #ifndef LLVM_LINKER_H
 #define LLVM_LINKER_H
 
+#include "llvm/ADT/SmallPtrSet.h"
 #include <string>
 
 namespace llvm {
 
 class Module;
 class StringRef;
+class StructType;
 
 /// This class provides the core functionality of linking in LLVM. It keeps a
 /// pointer to the merged module so far. It doesn't take ownership of the
@@ -30,7 +32,9 @@ class Linker {
 
     Linker(Module *M);
     ~Linker();
+
     Module *getModule() const { return Composite; }
+    void deleteModule();
 
     /// \brief Link \p Src into the composite. The source is destroyed if
     /// \p Mode is DestroySource and preserved if it is PreserveSource.
@@ -47,6 +51,7 @@ class Linker {
 
   private:
     Module *Composite;
+    SmallPtrSet<StructType*, 32> IdentifiedStructTypes;
 };
 
 } // End llvm namespace