From: Reid Spencer Date: Mon, 21 Aug 2006 05:34:03 +0000 (+0000) Subject: For PR885: X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=62c5105adc4f51c6dd07be3471ea2462c8e00c82;p=oota-llvm.git 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 --- 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/LinkAllPasses.h b/include/llvm/LinkAllPasses.h new file mode 100644 index 00000000000..5f803cc4145 --- /dev/null +++ b/include/llvm/LinkAllPasses.h @@ -0,0 +1,142 @@ +//===- llvm/Transforms/LinkAllPasses.h - Reference All Passes ---*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by Jeff Cohen and is distributed under the +// University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This header file pulls in all transformation passes for tools like opts and +// bugpoint that need this functionality. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LINKALLPASSES_H +#define LLVM_LINKALLPASSES_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" +#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" +#include + +namespace { + struct ForcePassLinking { + ForcePassLinking() { + // 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) llvm::createAAEvalPass(); + (void) llvm::createAggressiveDCEPass(); + (void) llvm::createAliasAnalysisCounterPass(); + (void) llvm::createAndersensPass(); + (void) llvm::createArgumentPromotionPass(); + (void) llvm::createBasicAliasAnalysisPass(); + (void) llvm::createBasicVNPass(); + (void) llvm::createBlockPlacementPass(); + (void) llvm::createBlockProfilerPass(); + (void) llvm::createBreakCriticalEdgesPass(); + (void) llvm::createCFGSimplificationPass(); + (void) llvm::createConstantMergePass(); + (void) llvm::createConstantPropagationPass(); + (void) llvm::createCorrelatedExpressionEliminationPass(); + (void) llvm::createDSAAPass(); + (void) llvm::createDSOptPass(); + (void) llvm::createDeadArgEliminationPass(); + (void) llvm::createDeadCodeEliminationPass(); + (void) llvm::createDeadInstEliminationPass(); + (void) llvm::createDeadStoreEliminationPass(); + (void) llvm::createDeadTypeEliminationPass(); + (void) llvm::createEdgeProfilerPass(); + (void) llvm::createEmitFunctionTablePass(); + (void) llvm::createFunctionInliningPass(); + (void) llvm::createFunctionProfilerPass(); + (void) llvm::createFunctionResolvingPass(); + (void) llvm::createGCSEPass(); + (void) llvm::createGlobalDCEPass(); + (void) llvm::createGlobalOptimizerPass(); + (void) llvm::createGlobalsModRefPass(); + (void) llvm::createIPConstantPropagationPass(); + (void) llvm::createIPSCCPPass(); + (void) llvm::createIndVarSimplifyPass(); + (void) llvm::createInstructionCombiningPass(); + (void) llvm::createInternalizePass(false); + (void) llvm::createLCSSAPass(); + (void) llvm::createLICMPass(); + (void) llvm::createLoadValueNumberingPass(); + (void) llvm::createLoopExtractorPass(); + (void) llvm::createLoopSimplifyPass(); + (void) llvm::createLoopStrengthReducePass(); + (void) llvm::createLoopUnrollPass(); + (void) llvm::createLoopUnswitchPass(); + (void) llvm::createLowerAllocationsPass(); + (void) llvm::createLowerGCPass(); + (void) llvm::createLowerInvokePass(); + (void) llvm::createLowerPackedPass(); + (void) llvm::createLowerSelectPass(); + (void) llvm::createLowerSetJmpPass(); + (void) llvm::createLowerSwitchPass(); + (void) llvm::createNoAAPass(); + (void) llvm::createNoProfileInfoPass(); + (void) llvm::createProfileLoaderPass(); + (void) llvm::createPromoteMemoryToRegisterPass(); + (void) llvm::createDemoteRegisterToMemoryPass(); + (void) llvm::createPruneEHPass(); + (void) llvm::createRaiseAllocationsPass(); + (void) llvm::createRaisePointerReferencesPass(); + (void) llvm::createReassociatePass(); + (void) llvm::createSCCPPass(); + (void) llvm::createScalarReplAggregatesPass(); + (void) llvm::createSimplifyLibCallsPass(); + (void) llvm::createSingleLoopExtractorPass(); + (void) llvm::createSteensgaardPass(); + (void) llvm::createStripSymbolsPass(); + (void) llvm::createTailCallEliminationPass(); + (void) llvm::createTailDuplicationPass(); + (void) llvm::createTraceBasicBlockPass(); + (void) llvm::createTraceValuesPassForBasicBlocks(); + (void) llvm::createTraceValuesPassForFunction(); + (void) llvm::createUnifyFunctionExitNodesPass(); + (void) llvm::createCondPropagationPass(); + (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. +} + +#endif diff --git a/include/llvm/Transforms/LinkAllPasses.h b/include/llvm/Transforms/LinkAllPasses.h deleted file mode 100644 index 3a9c504155b..00000000000 --- a/include/llvm/Transforms/LinkAllPasses.h +++ /dev/null @@ -1,116 +0,0 @@ -//===- llvm/Transforms/LinkAllPasses.h - Reference All Passes ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Jeff Cohen and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This header file pulls in all transformation passes for tools like opts and -// bugpoint that need this functionality. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_TRANSFORMS_LINKALLPASSES_H -#define LLVM_TRANSFORMS_LINKALLPASSES_H - -#include "llvm/Analysis/Passes.h" -#include "llvm/Analysis/LoadValueNumbering.h" -#include "llvm/CodeGen/Passes.h" -#include "llvm/Transforms/Instrumentation.h" -#include "llvm/Transforms/IPO.h" -#include "llvm/Transforms/Scalar.h" -#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" -#include - -namespace { - struct ForcePassLinking { - ForcePassLinking() { - // 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) llvm::createAAEvalPass(); - (void) llvm::createAggressiveDCEPass(); - (void) llvm::createAliasAnalysisCounterPass(); - (void) llvm::createAndersensPass(); - (void) llvm::createArgumentPromotionPass(); - (void) llvm::createBasicAliasAnalysisPass(); - (void) llvm::createBasicVNPass(); - (void) llvm::createBlockPlacementPass(); - (void) llvm::createBlockProfilerPass(); - (void) llvm::createBreakCriticalEdgesPass(); - (void) llvm::createCFGSimplificationPass(); - (void) llvm::createConstantMergePass(); - (void) llvm::createConstantPropagationPass(); - (void) llvm::createCorrelatedExpressionEliminationPass(); - (void) llvm::createDSAAPass(); - (void) llvm::createDSOptPass(); - (void) llvm::createDeadArgEliminationPass(); - (void) llvm::createDeadCodeEliminationPass(); - (void) llvm::createDeadInstEliminationPass(); - (void) llvm::createDeadStoreEliminationPass(); - (void) llvm::createDeadTypeEliminationPass(); - (void) llvm::createEdgeProfilerPass(); - (void) llvm::createEmitFunctionTablePass(); - (void) llvm::createFunctionInliningPass(); - (void) llvm::createFunctionProfilerPass(); - (void) llvm::createFunctionResolvingPass(); - (void) llvm::createGCSEPass(); - (void) llvm::createGlobalDCEPass(); - (void) llvm::createGlobalOptimizerPass(); - (void) llvm::createGlobalsModRefPass(); - (void) llvm::createIPConstantPropagationPass(); - (void) llvm::createIPSCCPPass(); - (void) llvm::createIndVarSimplifyPass(); - (void) llvm::createInstructionCombiningPass(); - (void) llvm::createInternalizePass(false); - (void) llvm::createLCSSAPass(); - (void) llvm::createLICMPass(); - (void) llvm::createLoadValueNumberingPass(); - (void) llvm::createLoopExtractorPass(); - (void) llvm::createLoopSimplifyPass(); - (void) llvm::createLoopStrengthReducePass(); - (void) llvm::createLoopUnrollPass(); - (void) llvm::createLoopUnswitchPass(); - (void) llvm::createLowerAllocationsPass(); - (void) llvm::createLowerGCPass(); - (void) llvm::createLowerInvokePass(); - (void) llvm::createLowerPackedPass(); - (void) llvm::createLowerSelectPass(); - (void) llvm::createLowerSetJmpPass(); - (void) llvm::createLowerSwitchPass(); - (void) llvm::createNoAAPass(); - (void) llvm::createNoProfileInfoPass(); - (void) llvm::createProfileLoaderPass(); - (void) llvm::createPromoteMemoryToRegisterPass(); - (void) llvm::createDemoteRegisterToMemoryPass(); - (void) llvm::createPruneEHPass(); - (void) llvm::createRaiseAllocationsPass(); - (void) llvm::createRaisePointerReferencesPass(); - (void) llvm::createReassociatePass(); - (void) llvm::createSCCPPass(); - (void) llvm::createScalarReplAggregatesPass(); - (void) llvm::createSimplifyLibCallsPass(); - (void) llvm::createSingleLoopExtractorPass(); - (void) llvm::createSteensgaardPass(); - (void) llvm::createStripSymbolsPass(); - (void) llvm::createTailCallEliminationPass(); - (void) llvm::createTailDuplicationPass(); - (void) llvm::createTraceBasicBlockPass(); - (void) llvm::createTraceValuesPassForBasicBlocks(); - (void) llvm::createTraceValuesPassForFunction(); - (void) llvm::createUnifyFunctionExitNodesPass(); - (void) llvm::createCondPropagationPass(); - (void) llvm::createNullProfilerRSPass(); - (void) llvm::createRSProfilingPass(); - (void) llvm::createIndMemRemPass(); - } - } ForcePassLinking; // Force link by creating a global definition. -} - -#endif 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