[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