Implement signed output for toString.
[oota-llvm.git] / include / llvm / LinkTimeOptimizer.h
index b52c578efea206d19d2840d336edf1d6b65bce45..164232d20989b0559e5482a9f8a9178bdd527e1e 100644 (file)
@@ -57,17 +57,19 @@ namespace llvm {
     void mayBeNotUsed();
 
     LLVMSymbol (enum LTOLinkageTypes lt, GlobalValue *g, const std::string &n, 
-                const std::string &m) : linkage(lt), gv(g), name(n), 
-                                        mangledName(m) {}
+                const std::string &m, int a) : linkage(lt), gv(g), name(n), 
+                                               mangledName(m), alignment(a) {}
 
     const char *getName() { return name.c_str(); }
     const char *getMangledName() { return mangledName.c_str(); }
+    int getAlignment() { return alignment; }
 
   private:
     enum LTOLinkageTypes linkage;
     GlobalValue *gv;
     std::string name;
     std::string mangledName;
+    int alignment;
   };
 
   class string_compare {
@@ -89,10 +91,12 @@ namespace llvm {
                                               NameToSymbolMap &,
                                               std::set<std::string> &) = 0;
     virtual enum LTOStatus optimizeModules(const std::string &,
-                                   std::vector<const char*> &,
-                                   std::string &) = 0;
+                                           std::vector<const char*> &,
+                                           std::string &, bool, 
+                                           const char *) = 0;
     virtual void getTargetTriple(const std::string &, std::string &) = 0;
     virtual void removeModule (const std::string &InputFilename) = 0;
+    virtual void printVersion () = 0;
     virtual ~LinkTimeOptimizer() = 0;
   };
 
@@ -111,9 +115,12 @@ namespace llvm {
                                       std::set<std::string> &references);
     enum LTOStatus optimizeModules(const std::string &OutputFilename,
                                    std::vector<const char*> &exportList,
-                                   std::string &targetTriple);
-    void getTargetTriple(const std::string &InputFilename, std::string &targetTriple);
+                                   std::string &targetTriple, bool saveTemps,
+                                   const char *);
+    void getTargetTriple(const std::string &InputFilename, 
+                         std::string &targetTriple);
     void removeModule (const std::string &InputFilename);
+    void printVersion();
 
     // Constructors and destructors
     LTO() {