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; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits