Okay, the list of link-time passes wasn't such a hot idea. Its prone to
error. We'll strategize on this when we have multiple front ends to deal
with. For now llvm-ld just runs a standard set of transforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16333 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Module.h b/include/llvm/Module.h
index 64a84d4..a4b675f 100644
--- a/include/llvm/Module.h
+++ b/include/llvm/Module.h
@@ -49,7 +49,6 @@
   typedef iplist<GlobalVariable> GlobalListType;
   typedef iplist<Function> FunctionListType;
   typedef SetVector<std::string> LibraryListType;
-  typedef std::vector<std::string> PassListType;
 
   // Global Variable iterators...
   typedef GlobalListType::iterator                             giterator;
@@ -66,9 +65,6 @@
   // Library list iterators
   typedef LibraryListType::const_iterator lib_iterator;
 
-  // Link-time Pass list iterators
-  typedef PassListType::const_iterator pass_iterator;
-
   enum Endianness  { AnyEndianness, LittleEndian, BigEndian };
   enum PointerSize { AnyPointerSize, Pointer32, Pointer64 };
 
@@ -76,7 +72,6 @@
   GlobalListType GlobalList;     // The Global Variables in the module
   FunctionListType FunctionList; // The Functions in the module
   LibraryListType LibraryList;   // The Libraries needed by the module
-  PassListType PassList;         // The Passes needed by the module at link time
   SymbolTable *SymTab;           // Symbol Table for the module
   std::string ModuleID;          // Human readable identifier for the module
   std::string TargetTriple;      // Platform target triple Module compiled on
@@ -253,27 +248,6 @@
   inline const LibraryListType& getLibraries() const { return LibraryList; }
 
   //===--------------------------------------------------------------------===//
-  // Access functions for Link-time pass list
-
-  /// @brief Get a constant iterator to beginning of pass list.
-  inline pass_iterator pass_begin() const { return PassList.begin(); }
-
-  /// @brief Get a constant iterator to end of pass list.
-  inline pass_iterator pass_end() const { return PassList.end(); }
-
-  /// @brief Returns the number of items in the list of passes.
-  inline unsigned pass_size() const { return PassList.size(); }
-
-  /// @brief Add a library to the list of passes
-  inline void addPass(const std::string& Pass){ PassList.push_back(Pass); }
-
-  /// @brief Remove a library from the list of passes
-  void removePass(const std::string& Lib); 
-
-  /// @brief Get all the passes 
-  inline const PassListType& getPasses() const { return PassList; }
-
-  //===--------------------------------------------------------------------===//
   // Utility functions for printing and dumping Module objects
 
   void print(std::ostream &OS) const { print(OS, 0); }
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l
index 9290cf1..45361bd 100644
--- a/lib/AsmParser/Lexer.l
+++ b/lib/AsmParser/Lexer.l
@@ -195,7 +195,6 @@
 target          { return TARGET; }
 triple          { return TRIPLE; }
 deplibs         { return DEPLIBS; }
-passes          { return PASSES; }
 endian          { return ENDIAN; }
 pointersize     { return POINTERSIZE; }
 little          { return LITTLE; }
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index aec7b38..ce92c9c 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -910,7 +910,7 @@
 %token DECLARE GLOBAL CONSTANT VOLATILE
 %token TO DOTDOTDOT NULL_TOK CONST INTERNAL LINKONCE WEAK  APPENDING
 %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG
-%token DEPLIBS PASSES
+%token DEPLIBS 
 
 // Basic Block Terminating Operators 
 %token <TermOpVal> RET BR SWITCH INVOKE UNWIND
@@ -1484,8 +1484,6 @@
   }
   | ConstPool DEPLIBS '=' LibrariesDefinition {
   }
-  | ConstPool PASSES '=' PassesDefinition {
-  }
   | /* empty: end of list */ { 
   };
 
@@ -1524,19 +1522,6 @@
         }
         ;
 
-PassesDefinition : '[' PassList ']';
-PassList : PassList ',' STRINGCONSTANT {
-           CurModule.CurrentModule->addLibrary($3);
-           free($3);
-         }
-         | STRINGCONSTANT {
-           CurModule.CurrentModule->addLibrary($1);
-           free($1);
-         }
-         | /* empty: end of list */ {
-         }
-         ;
-
 //===----------------------------------------------------------------------===//
 //                       Rules to match Function Headers
 //===----------------------------------------------------------------------===//
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index 0cca2a7..236e243 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -778,20 +778,6 @@
     Out << " ]\n";
   }
 
-  // Loop over the link time pass list and emit them.
-  Module::pass_iterator PI = M->pass_begin();
-  Module::pass_iterator PE = M->pass_end();
-  if (LI != LE) {
-    Out << "passes = [ ";
-    while (LI != LE) {
-      Out << '"' << *LI << '"';
-      ++LI;
-      if (LI != LE)
-        Out << ", ";
-    }
-    Out << " ]\n";
-  }
-  
   // Loop over the symbol table, emitting all named constants.
   printSymbolTable(M->getSymbolTable());
   
diff --git a/lib/VMCore/Module.cpp b/lib/VMCore/Module.cpp
index 1dae14e..3759cfd 100644
--- a/lib/VMCore/Module.cpp
+++ b/lib/VMCore/Module.cpp
@@ -270,13 +270,6 @@
   return "";     // Must not have found anything...
 }
 
-void Module::removePass(const std::string& Lib) { 
-  PassListType::iterator I = find(PassList.begin(),PassList.end(),Lib);
-  if (I != PassList.end())
-    PassList.erase(I);
-}
-
-
 //===----------------------------------------------------------------------===//
 // Other module related stuff.
 //