From 62c5105adc4f51c6dd07be3471ea2462c8e00c82 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 21 Aug 2006 05:34:03 +0000 Subject: [PATCH] For PR885: Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one so there is no dupliation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29787 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/LinkAllAnalyses.h | 62 ------------------- include/llvm/{Transforms => }/LinkAllPasses.h | 32 +++++++++- tools/bugpoint/bugpoint.cpp | 3 +- tools/opt/opt.cpp | 2 +- 4 files changed, 31 insertions(+), 68 deletions(-) delete mode 100644 include/llvm/Analysis/LinkAllAnalyses.h rename include/llvm/{Transforms => }/LinkAllPasses.h (80%) diff --git a/include/llvm/Analysis/LinkAllAnalyses.h b/include/llvm/Analysis/LinkAllAnalyses.h deleted file mode 100644 index 5914d62fa2f..00000000000 --- a/include/llvm/Analysis/LinkAllAnalyses.h +++ /dev/null @@ -1,62 +0,0 @@ -//===- LinkAllAnalyses.h - Reference All Analysis Passes --------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Chris Lattner and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This header file pulls in all analysis passes for tools like analyze and -// bugpoint that need this functionality. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_LINKALLANALYSES_H -#define LLVM_ANALYSIS_LINKALLANALYSES_H - -#include "llvm/Analysis/AliasSetTracker.h" -#include "llvm/Analysis/FindUsedTypes.h" -#include "llvm/Analysis/IntervalPartition.h" -#include "llvm/Analysis/PostDominators.h" -#include "llvm/Analysis/Passes.h" -#include "llvm/Analysis/ScalarEvolution.h" -#include "llvm/Analysis/DataStructure/DataStructure.h" -#include "llvm/Analysis/DataStructure/CallTargets.h" -#include "llvm/Function.h" -#include - -namespace { - struct ForceAnalysisPassLinking { - ForceAnalysisPassLinking() { - // We must reference the passes 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 - } - } ForceAnalysisPassLinking; -} - -#endif diff --git a/include/llvm/Transforms/LinkAllPasses.h b/include/llvm/LinkAllPasses.h similarity index 80% rename from include/llvm/Transforms/LinkAllPasses.h rename to include/llvm/LinkAllPasses.h index 3a9c504155b..5f803cc4145 100644 --- a/include/llvm/Transforms/LinkAllPasses.h +++ b/include/llvm/LinkAllPasses.h @@ -12,12 +12,20 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_TRANSFORMS_LINKALLPASSES_H -#define LLVM_TRANSFORMS_LINKALLPASSES_H +#ifndef LLVM_LINKALLPASSES_H +#define LLVM_LINKALLPASSES_H -#include "llvm/Analysis/Passes.h" +#include "llvm/Analysis/AliasSetTracker.h" +#include "llvm/Analysis/FindUsedTypes.h" +#include "llvm/Analysis/IntervalPartition.h" #include "llvm/Analysis/LoadValueNumbering.h" +#include "llvm/Analysis/Passes.h" +#include "llvm/Analysis/PostDominators.h" +#include "llvm/Analysis/ScalarEvolution.h" +#include "llvm/Analysis/DataStructure/DataStructure.h" +#include "llvm/Analysis/DataStructure/CallTargets.h" #include "llvm/CodeGen/Passes.h" +#include "llvm/Function.h" #include "llvm/Transforms/Instrumentation.h" #include "llvm/Transforms/IPO.h" #include "llvm/Transforms/Scalar.h" @@ -109,6 +117,24 @@ namespace { (void) llvm::createNullProfilerRSPass(); (void) llvm::createRSProfilingPass(); (void) llvm::createIndMemRemPass(); + (void) llvm::createDataStructureStatsPass(); + (void) llvm::createDataStructureGraphCheckerPass(); + (void) llvm::createInstCountPass(); + + (void)new llvm::LocalDataStructures(); + (void)new llvm::BUDataStructures(); + (void)new llvm::TDDataStructures(); + (void)new llvm::CompleteBUDataStructures(); + (void)new llvm::EquivClassGraphs(); + (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 } } ForcePassLinking; // Force link by creating a global definition. } diff --git a/tools/bugpoint/bugpoint.cpp b/tools/bugpoint/bugpoint.cpp index 353e117369a..97ff5f701f0 100644 --- a/tools/bugpoint/bugpoint.cpp +++ b/tools/bugpoint/bugpoint.cpp @@ -15,8 +15,7 @@ #include "BugDriver.h" #include "ToolRunner.h" -#include "llvm/Analysis/LinkAllAnalyses.h" -#include "llvm/Transforms/LinkAllPasses.h" +#include "llvm/LinkAllPasses.h" #include "llvm/Support/PassNameParser.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/PluginLoader.h" diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 3800994a628..6d3b3b648aa 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -26,7 +26,7 @@ #include "llvm/Support/PluginLoader.h" #include "llvm/Support/SystemUtils.h" #include "llvm/Support/Timer.h" -#include "llvm/Transforms/LinkAllPasses.h" +#include "llvm/LinkAllPasses.h" #include "llvm/LinkAllVMCore.h" #include #include -- 2.34.1