[llvm-commits] CVS: llvm/include/llvm/LinkAllVMCore.h

Reid Spencer reid at x10sys.com
Wed Jun 7 15:09:51 PDT 2006



Changes in directory llvm/include/llvm:

LinkAllVMCore.h updated: 1.1 -> 1.2
---
Log message:

Previous version of this file wasn't supposed to be committed. This version
attempts to get all of libVMCore.a through the least number of declarations.


---
Diffs of the changes:  (+12 -30)

 LinkAllVMCore.h |   42 ++++++++++++------------------------------
 1 files changed, 12 insertions(+), 30 deletions(-)


Index: llvm/include/llvm/LinkAllVMCore.h
diff -u llvm/include/llvm/LinkAllVMCore.h:1.1 llvm/include/llvm/LinkAllVMCore.h:1.2
--- llvm/include/llvm/LinkAllVMCore.h:1.1	Wed Jun  7 15:00:19 2006
+++ llvm/include/llvm/LinkAllVMCore.h	Wed Jun  7 17:09:38 2006
@@ -7,51 +7,33 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This header file pulls in all analysis passes for tools like analyze and
-// bugpoint that need this functionality.
+// This header file pulls in all the object modules of the VMCore library so
+// that tools like llc, opt, and lli can ensure they are linked with all symbols
+// from libVMCore.a It should only be used from a tool's main program.
 //
 //===----------------------------------------------------------------------===//
 
 #ifndef LLVM_LINKALLVMCORE_H
 #define LLVM_LINKALLVMCORE_H
 
-#include <llvm/Support/IncludeFile.h>
-#include <llvm/Module.h>
-#include <llvm/IntrinsicInst.h>
-#include <llvm/IntrinsicInst.h>
-#include <llvm/Instructions.h>
-#include <llvm/Analysis/Dominators.h>
-#include <llvm/Analysis/Verifier.h>
+#include "llvm/Support/IncludeFile.h"
+#include "llvm/Module.h"
+#include "llvm/Instructions.h"
+#include "llvm/IntrinsicInst.h"
+#include "llvm/Analysis/Verifier.h"
 
 namespace {
   struct ForceVMCoreLinking {
     ForceVMCoreLinking() {
-      // We must reference the passes in such a way that compilers will not
+      // We must reference VMCore in such a way that compilers will not
       // delete it all as dead code, even with whole program optimization,
       // yet is effectively a NO-OP. As the compiler isn't smart enough
       // to know that getenv() never returns -1, this will do the job.
       if (std::getenv("bar") != (char*) -1)
         return;
-
-      (void)new llvm::LocalDataStructures();
-      (void)new llvm::BUDataStructures();
-      (void)new llvm::TDDataStructures();
-      (void)new llvm::CompleteBUDataStructures();
-      (void)new llvm::EquivClassGraphs();
-      (void)llvm::createDataStructureStatsPass();
-      (void)llvm::createDataStructureGraphCheckerPass();
-      (void)llvm::createProfileLoaderPass();
-      (void)llvm::createNoProfileInfoPass();
-      (void)llvm::createInstCountPass();
-      (void)new llvm::IntervalPartition();
-      (void)new llvm::ImmediateDominators();
-      (void)new llvm::PostDominatorSet();
-      (void)new llvm::FindUsedTypes();
-      (void)new llvm::ScalarEvolution();
-      (void)new llvm::CallTargetFinder();
-      ((llvm::Function*)0)->viewCFGOnly();
-      llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)0);
-      X.add((llvm::Value*)0, 0);  // for -print-alias-sets
+      (void)new llvm::Module("");
+      (void)new llvm::UnreachableInst();
+      (void)    llvm::createVerifierPass(); 
     }
   } ForceVMCoreLinking;
 }






More information about the llvm-commits mailing list