Run the internalize pass to mark all functions except main internal when
linking the final program to allow smarter optimizations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2364 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp
index 1e16aa1..8d78305 100644
--- a/tools/gccld/gccld.cpp
+++ b/tools/gccld/gccld.cpp
@@ -23,6 +23,7 @@
 #include "llvm/Transforms/CleanupGCCOutput.h"
 #include "llvm/Transforms/ConstantMerge.h"
 #include "llvm/Transforms/IPO/GlobalDCE.h"
+#include "llvm/Transforms/IPO/Internalize.h"
 #include "Support/CommandLine.h"
 #include "Support/Signals.h"
 #include <fstream>
@@ -81,8 +82,6 @@
 }
 
 
-
-
 int main(int argc, char **argv) {
   cl::ParseCommandLineOptions(argc, argv, " llvm linker for GCC\n",
 			      cl::EnableSingleLetterArgValue |
@@ -148,7 +147,7 @@
   // Now that composite has been compiled, scan through the module, looking for
   // a main function.  If main is defined, mark all other functions internal.
   //
-  // TODO:
+  Passes.add(createInternalizePass());
 
   // Now that we have optimized the program, discard unreachable functions...
   //