[clang] fe364e5 - [NFC] Remove LinkAll*.h

Arthur Eubanks via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 2 08:44:16 PDT 2021


Author: Arthur Eubanks
Date: 2021-11-02T08:43:17-07:00
New Revision: fe364e5dc78c58a915986d9a44cfd65f919a00c2

URL: https://github.com/llvm/llvm-project/commit/fe364e5dc78c58a915986d9a44cfd65f919a00c2
DIFF: https://github.com/llvm/llvm-project/commit/fe364e5dc78c58a915986d9a44cfd65f919a00c2.diff

LOG: [NFC] Remove LinkAll*.h

These were added to prevent functions from being removed by WPO.

But that doesn't make sense, correct WPO will not remove functions we actually use.

I noticed these because compiling cc1_main.cpp was pulling in random LLVM pass headers.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D112971

Added: 
    

Modified: 
    clang/tools/driver/cc1_main.cpp
    llvm/docs/WritingAnLLVMPass.rst
    llvm/include/llvm/module.modulemap
    llvm/lib/Analysis/CallPrinter.cpp
    llvm/lib/Analysis/DomPrinter.cpp
    llvm/lib/Analysis/RegionInfo.cpp
    llvm/lib/CodeGen/MachineRegionInfo.cpp
    llvm/tools/bugpoint/bugpoint.cpp
    llvm/tools/llc/llc.cpp
    llvm/tools/lli/lli.cpp
    llvm/tools/opt/opt.cpp

Removed: 
    llvm/include/llvm/CodeGen/LinkAllAsmWriterComponents.h
    llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h
    llvm/include/llvm/LinkAllIR.h
    llvm/include/llvm/LinkAllPasses.h


################################################################################
diff  --git a/clang/tools/driver/cc1_main.cpp b/clang/tools/driver/cc1_main.cpp
index fd3b25ccb3cb1..19273f97c921b 100644
--- a/clang/tools/driver/cc1_main.cpp
+++ b/clang/tools/driver/cc1_main.cpp
@@ -27,7 +27,6 @@
 #include "clang/FrontendTool/Utils.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Config/llvm-config.h"
-#include "llvm/LinkAllPasses.h"
 #include "llvm/MC/TargetRegistry.h"
 #include "llvm/Option/Arg.h"
 #include "llvm/Option/ArgList.h"

diff  --git a/llvm/docs/WritingAnLLVMPass.rst b/llvm/docs/WritingAnLLVMPass.rst
index 133775c92dde4..c9955d177036e 100644
--- a/llvm/docs/WritingAnLLVMPass.rst
+++ b/llvm/docs/WritingAnLLVMPass.rst
@@ -1308,11 +1308,6 @@ option.  Registering instruction schedulers is similar except use the
 ``RegisterScheduler::FunctionPassCtor`` is significantly 
diff erent from
 ``RegisterRegAlloc::FunctionPassCtor``.
 
-To force the load/linking of your register allocator into the
-:program:`llc`/:program:`lli` tools, add your creator function's global
-declaration to ``Passes.h`` and add a "pseudo" call line to
-``llvm/Codegen/LinkAllCodegenComponents.h``.
-
 Creating new registries
 -----------------------
 

diff  --git a/llvm/include/llvm/CodeGen/LinkAllAsmWriterComponents.h b/llvm/include/llvm/CodeGen/LinkAllAsmWriterComponents.h
deleted file mode 100644
index 81b0025fdddc5..0000000000000
--- a/llvm/include/llvm/CodeGen/LinkAllAsmWriterComponents.h
+++ /dev/null
@@ -1,37 +0,0 @@
-//===- llvm/Codegen/LinkAllAsmWriterComponents.h ----------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This header file pulls in all assembler writer related passes for tools like
-// llc that need this functionality.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CODEGEN_LINKALLASMWRITERCOMPONENTS_H
-#define LLVM_CODEGEN_LINKALLASMWRITERCOMPONENTS_H
-
-#include "llvm/IR/BuiltinGCs.h"
-#include <cstdlib>
-
-namespace {
-  struct ForceAsmWriterLinking {
-    ForceAsmWriterLinking() {
-      // We must reference the plug-ins 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;
-
-      llvm::linkOcamlGCPrinter();
-      llvm::linkErlangGCPrinter();
-
-    }
-  } ForceAsmWriterLinking; // Force link by creating a global definition.
-}
-
-#endif // LLVM_CODEGEN_LINKALLASMWRITERCOMPONENTS_H

diff  --git a/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h b/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h
deleted file mode 100644
index 1b13ff53ac857..0000000000000
--- a/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h
+++ /dev/null
@@ -1,54 +0,0 @@
-//===- llvm/Codegen/LinkAllCodegenComponents.h ------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This header file pulls in all codegen related passes for tools like lli and
-// llc that need this functionality.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CODEGEN_LINKALLCODEGENCOMPONENTS_H
-#define LLVM_CODEGEN_LINKALLCODEGENCOMPONENTS_H
-
-#include "llvm/IR/BuiltinGCs.h"
-#include "llvm/CodeGen/Passes.h"
-#include "llvm/CodeGen/SchedulerRegistry.h"
-#include "llvm/Target/TargetMachine.h"
-#include <cstdlib>
-
-namespace {
-  struct ForceCodegenLinking {
-    ForceCodegenLinking() {
-      // 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::createFastRegisterAllocator();
-      (void) llvm::createBasicRegisterAllocator();
-      (void) llvm::createGreedyRegisterAllocator();
-      (void) llvm::createDefaultPBQPRegisterAllocator();
-
-      llvm::linkAllBuiltinGCs();
-
-      (void) llvm::createBURRListDAGScheduler(nullptr,
-                                              llvm::CodeGenOpt::Default);
-      (void) llvm::createSourceListDAGScheduler(nullptr,
-                                                llvm::CodeGenOpt::Default);
-      (void) llvm::createHybridListDAGScheduler(nullptr,
-                                                llvm::CodeGenOpt::Default);
-      (void) llvm::createFastDAGScheduler(nullptr, llvm::CodeGenOpt::Default);
-      (void) llvm::createDefaultScheduler(nullptr, llvm::CodeGenOpt::Default);
-      (void) llvm::createVLIWDAGScheduler(nullptr, llvm::CodeGenOpt::Default);
-
-    }
-  } ForceCodegenLinking; // Force link by creating a global definition.
-}
-
-#endif

diff  --git a/llvm/include/llvm/LinkAllIR.h b/llvm/include/llvm/LinkAllIR.h
deleted file mode 100644
index 4b0aabeee7017..0000000000000
--- a/llvm/include/llvm/LinkAllIR.h
+++ /dev/null
@@ -1,51 +0,0 @@
-//===----- LinkAllIR.h - Reference All VMCore Code --------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// 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_LINKALLIR_H
-#define LLVM_LINKALLIR_H
-
-#include "llvm/BinaryFormat/Dwarf.h"
-#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/Instructions.h"
-#include "llvm/IR/LLVMContext.h"
-#include "llvm/IR/Module.h"
-#include "llvm/IR/Verifier.h"
-#include "llvm/Support/DynamicLibrary.h"
-#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/Memory.h"
-#include "llvm/Support/Mutex.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/Process.h"
-#include "llvm/Support/Program.h"
-#include "llvm/Support/Signals.h"
-#include <cstdlib>
-
-namespace {
-  struct ForceVMCoreLinking {
-    ForceVMCoreLinking() {
-      // 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;
-      llvm::LLVMContext Context;
-      (void)new llvm::Module("", Context);
-      (void)new llvm::UnreachableInst(Context);
-      (void)    llvm::createVerifierPass();
-    }
-  } ForceVMCoreLinking;
-}
-
-#endif

diff  --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h
deleted file mode 100644
index 45978828a8ce1..0000000000000
--- a/llvm/include/llvm/LinkAllPasses.h
+++ /dev/null
@@ -1,253 +0,0 @@
-//===- llvm/LinkAllPasses.h ------------ Reference All Passes ---*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This header file pulls in all transformation and analysis passes for tools
-// like opt and bugpoint that need this functionality.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LINKALLPASSES_H
-#define LLVM_LINKALLPASSES_H
-
-#include "llvm/ADT/Statistic.h"
-#include "llvm/Analysis/AliasAnalysisEvaluator.h"
-#include "llvm/Analysis/AliasSetTracker.h"
-#include "llvm/Analysis/BasicAliasAnalysis.h"
-#include "llvm/Analysis/CFLAndersAliasAnalysis.h"
-#include "llvm/Analysis/CFLSteensAliasAnalysis.h"
-#include "llvm/Analysis/CallPrinter.h"
-#include "llvm/Analysis/DomPrinter.h"
-#include "llvm/Analysis/GlobalsModRef.h"
-#include "llvm/Analysis/IntervalPartition.h"
-#include "llvm/Analysis/Lint.h"
-#include "llvm/Analysis/Passes.h"
-#include "llvm/Analysis/PostDominators.h"
-#include "llvm/Analysis/RegionPass.h"
-#include "llvm/Analysis/RegionPrinter.h"
-#include "llvm/Analysis/ScalarEvolution.h"
-#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"
-#include "llvm/Analysis/ScopedNoAliasAA.h"
-#include "llvm/Analysis/TargetLibraryInfo.h"
-#include "llvm/Analysis/TypeBasedAliasAnalysis.h"
-#include "llvm/CodeGen/Passes.h"
-#include "llvm/IR/Function.h"
-#include "llvm/IR/IRPrintingPasses.h"
-#include "llvm/Support/Valgrind.h"
-#include "llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h"
-#include "llvm/Transforms/IPO.h"
-#include "llvm/Transforms/IPO/AlwaysInliner.h"
-#include "llvm/Transforms/IPO/Attributor.h"
-#include "llvm/Transforms/IPO/FunctionAttrs.h"
-#include "llvm/Transforms/InstCombine/InstCombine.h"
-#include "llvm/Transforms/Instrumentation.h"
-#include "llvm/Transforms/Instrumentation/BoundsChecking.h"
-#include "llvm/Transforms/ObjCARC.h"
-#include "llvm/Transforms/Scalar.h"
-#include "llvm/Transforms/Scalar/GVN.h"
-#include "llvm/Transforms/Scalar/InstSimplifyPass.h"
-#include "llvm/Transforms/Scalar/Scalarizer.h"
-#include "llvm/Transforms/Utils.h"
-#include "llvm/Transforms/Utils/SymbolRewriter.h"
-#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
-#include "llvm/Transforms/Vectorize.h"
-#include <cstdlib>
-
-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::createAggressiveInstCombinerPass();
-      (void) llvm::createBitTrackingDCEPass();
-      (void)llvm::createOpenMPOptCGSCCLegacyPass();
-      (void) llvm::createArgumentPromotionPass();
-      (void) llvm::createAlignmentFromAssumptionsPass();
-      (void) llvm::createBasicAAWrapperPass();
-      (void) llvm::createSCEVAAWrapperPass();
-      (void) llvm::createTypeBasedAAWrapperPass();
-      (void) llvm::createScopedNoAliasAAWrapperPass();
-      (void) llvm::createBoundsCheckingLegacyPass();
-      (void) llvm::createBreakCriticalEdgesPass();
-      (void) llvm::createCallGraphDOTPrinterPass();
-      (void) llvm::createCallGraphViewerPass();
-      (void) llvm::createCFGSimplificationPass();
-      (void) llvm::createCFLAndersAAWrapperPass();
-      (void) llvm::createCFLSteensAAWrapperPass();
-      (void) llvm::createStructurizeCFGPass();
-      (void) llvm::createLibCallsShrinkWrapPass();
-      (void) llvm::createCalledValuePropagationPass();
-      (void) llvm::createConstantMergePass();
-      (void) llvm::createControlHeightReductionLegacyPass();
-      (void) llvm::createCostModelAnalysisPass();
-      (void) llvm::createDeadArgEliminationPass();
-      (void) llvm::createDeadCodeEliminationPass();
-      (void) llvm::createDeadStoreEliminationPass();
-      (void) llvm::createDependenceAnalysisWrapperPass();
-      (void) llvm::createDomOnlyPrinterPass();
-      (void) llvm::createDomPrinterPass();
-      (void) llvm::createDomOnlyViewerPass();
-      (void) llvm::createDomViewerPass();
-      (void) llvm::createGCOVProfilerPass();
-      (void) llvm::createPGOInstrumentationGenLegacyPass();
-      (void) llvm::createPGOInstrumentationUseLegacyPass();
-      (void) llvm::createPGOInstrumentationGenCreateVarLegacyPass();
-      (void) llvm::createPGOIndirectCallPromotionLegacyPass();
-      (void) llvm::createPGOMemOPSizeOptLegacyPass();
-      (void) llvm::createInstrProfilingLegacyPass();
-      (void) llvm::createFunctionImportPass();
-      (void) llvm::createFunctionInliningPass();
-      (void) llvm::createAlwaysInlinerLegacyPass();
-      (void) llvm::createGlobalDCEPass();
-      (void) llvm::createGlobalOptimizerPass();
-      (void) llvm::createGlobalsAAWrapperPass();
-      (void) llvm::createGuardWideningPass();
-      (void) llvm::createLoopGuardWideningPass();
-      (void) llvm::createIPSCCPPass();
-      (void) llvm::createInductiveRangeCheckEliminationPass();
-      (void) llvm::createIndVarSimplifyPass();
-      (void) llvm::createInstSimplifyLegacyPass();
-      (void) llvm::createInstructionCombiningPass();
-      (void) llvm::createInternalizePass();
-      (void) llvm::createLCSSAPass();
-      (void) llvm::createLegacyDivergenceAnalysisPass();
-      (void) llvm::createLICMPass();
-      (void) llvm::createLoopSinkPass();
-      (void) llvm::createLazyValueInfoPass();
-      (void) llvm::createLoopExtractorPass();
-      (void) llvm::createLoopInterchangePass();
-      (void) llvm::createLoopFlattenPass();
-      (void) llvm::createLoopPredicationPass();
-      (void) llvm::createLoopSimplifyPass();
-      (void) llvm::createLoopSimplifyCFGPass();
-      (void) llvm::createLoopStrengthReducePass();
-      (void) llvm::createLoopRerollPass();
-      (void) llvm::createLoopUnrollPass();
-      (void) llvm::createLoopUnrollAndJamPass();
-      (void) llvm::createLoopUnswitchPass();
-      (void) llvm::createLoopVersioningLICMPass();
-      (void) llvm::createLoopIdiomPass();
-      (void) llvm::createLoopRotatePass();
-      (void) llvm::createLowerConstantIntrinsicsPass();
-      (void) llvm::createLowerExpectIntrinsicPass();
-      (void) llvm::createLowerInvokePass();
-      (void) llvm::createLowerSwitchPass();
-      (void) llvm::createNaryReassociatePass();
-      (void) llvm::createObjCARCAAWrapperPass();
-      (void) llvm::createObjCARCAPElimPass();
-      (void) llvm::createObjCARCExpandPass();
-      (void) llvm::createObjCARCContractPass();
-      (void) llvm::createObjCARCOptPass();
-      (void) llvm::createPAEvalPass();
-      (void) llvm::createPromoteMemoryToRegisterPass();
-      (void) llvm::createDemoteRegisterToMemoryPass();
-      (void) llvm::createPruneEHPass();
-      (void) llvm::createPostDomOnlyPrinterPass();
-      (void) llvm::createPostDomPrinterPass();
-      (void) llvm::createPostDomOnlyViewerPass();
-      (void) llvm::createPostDomViewerPass();
-      (void) llvm::createReassociatePass();
-      (void) llvm::createRedundantDbgInstEliminationPass();
-      (void) llvm::createRegionInfoPass();
-      (void) llvm::createRegionOnlyPrinterPass();
-      (void) llvm::createRegionOnlyViewerPass();
-      (void) llvm::createRegionPrinterPass();
-      (void) llvm::createRegionViewerPass();
-      (void) llvm::createSCCPPass();
-      (void) llvm::createSafeStackPass();
-      (void) llvm::createSROAPass();
-      (void) llvm::createSingleLoopExtractorPass();
-      (void) llvm::createStripSymbolsPass();
-      (void) llvm::createStripNonDebugSymbolsPass();
-      (void) llvm::createStripDeadDebugInfoPass();
-      (void) llvm::createStripDeadPrototypesPass();
-      (void) llvm::createTailCallEliminationPass();
-      (void) llvm::createJumpThreadingPass();
-      (void) llvm::createDFAJumpThreadingPass();
-      (void) llvm::createUnifyFunctionExitNodesPass();
-      (void) llvm::createInstCountPass();
-      (void) llvm::createConstantHoistingPass();
-      (void) llvm::createCodeGenPreparePass();
-      (void) llvm::createEntryExitInstrumenterPass();
-      (void) llvm::createPostInlineEntryExitInstrumenterPass();
-      (void) llvm::createEarlyCSEPass();
-      (void) llvm::createGVNHoistPass();
-      (void) llvm::createMergedLoadStoreMotionPass();
-      (void) llvm::createGVNPass();
-      (void) llvm::createNewGVNPass();
-      (void) llvm::createMemCpyOptPass();
-      (void) llvm::createLoopDeletionPass();
-      (void) llvm::createPostDomTree();
-      (void) llvm::createInstructionNamerPass();
-      (void) llvm::createMetaRenamerPass();
-      (void) llvm::createAttributorLegacyPass();
-      (void) llvm::createAttributorCGSCCLegacyPass();
-      (void) llvm::createPostOrderFunctionAttrsLegacyPass();
-      (void) llvm::createReversePostOrderFunctionAttrsPass();
-      (void) llvm::createMergeFunctionsPass();
-      (void) llvm::createMergeICmpsLegacyPass();
-      (void) llvm::createExpandMemCmpPass();
-      (void) llvm::createExpandVectorPredicationPass();
-      std::string buf;
-      llvm::raw_string_ostream os(buf);
-      (void) llvm::createPrintModulePass(os);
-      (void) llvm::createPrintFunctionPass(os);
-      (void) llvm::createModuleDebugInfoPrinterPass();
-      (void) llvm::createPartialInliningPass();
-      (void) llvm::createLintLegacyPassPass();
-      (void) llvm::createSinkingPass();
-      (void) llvm::createLowerAtomicPass();
-      (void) llvm::createCorrelatedValuePropagationPass();
-      (void) llvm::createMemDepPrinter();
-      (void) llvm::createLoopVectorizePass();
-      (void) llvm::createSLPVectorizerPass();
-      (void) llvm::createLoadStoreVectorizerPass();
-      (void) llvm::createVectorCombinePass();
-      (void) llvm::createPartiallyInlineLibCallsPass();
-      (void) llvm::createScalarizerPass();
-      (void) llvm::createSeparateConstOffsetFromGEPPass();
-      (void) llvm::createSpeculativeExecutionPass();
-      (void) llvm::createSpeculativeExecutionIfHasBranchDivergencePass();
-      (void) llvm::createRewriteSymbolsPass();
-      (void) llvm::createStraightLineStrengthReducePass();
-      (void) llvm::createMemDerefPrinter();
-      (void) llvm::createMustExecutePrinter();
-      (void) llvm::createMustBeExecutedContextPrinter();
-      (void) llvm::createFloat2IntPass();
-      (void) llvm::createEliminateAvailableExternallyPass();
-      (void)llvm::createScalarizeMaskedMemIntrinLegacyPass();
-      (void) llvm::createWarnMissedTransformationsPass();
-      (void) llvm::createHardwareLoopsPass();
-      (void) llvm::createInjectTLIMappingsLegacyPass();
-      (void) llvm::createUnifyLoopExitsPass();
-      (void) llvm::createFixIrreduciblePass();
-      (void)llvm::createFunctionSpecializationPass();
-
-      (void)new llvm::IntervalPartition();
-      (void)new llvm::ScalarEvolutionWrapperPass();
-      llvm::Function::Create(nullptr, llvm::GlobalValue::ExternalLinkage)->viewCFGOnly();
-      llvm::RGPassManager RGM;
-      llvm::TargetLibraryInfoImpl TLII;
-      llvm::TargetLibraryInfo TLI(TLII);
-      llvm::AliasAnalysis AA(TLI);
-      llvm::AliasSetTracker X(AA);
-      X.add(nullptr, llvm::LocationSize::beforeOrAfterPointer(),
-            llvm::AAMDNodes()); // for -print-alias-sets
-      (void) llvm::AreStatisticsEnabled();
-      (void) llvm::sys::RunningOnValgrind();
-    }
-  } ForcePassLinking; // Force link by creating a global definition.
-}
-
-#endif

diff  --git a/llvm/include/llvm/module.modulemap b/llvm/include/llvm/module.modulemap
index 6cbbb9a4028ef..2d4a05f356994 100644
--- a/llvm/include/llvm/module.modulemap
+++ b/llvm/include/llvm/module.modulemap
@@ -23,11 +23,6 @@ module LLVM_Backend {
     umbrella "CodeGen"
     module * { export * }
 
-    // Exclude these; they're intended to be included into only a single
-    // translation unit (or none) and aren't part of this module.
-    exclude header "CodeGen/LinkAllAsmWriterComponents.h"
-    exclude header "CodeGen/LinkAllCodegenComponents.h"
-
     // These are intended for (repeated) textual inclusion.
     textual header "CodeGen/DIEValue.def"
     textual header "CodeGen/MachinePassRegistry.def"

diff  --git a/llvm/lib/Analysis/CallPrinter.cpp b/llvm/lib/Analysis/CallPrinter.cpp
index 829532a0fa104..f6499bc8779c8 100644
--- a/llvm/lib/Analysis/CallPrinter.cpp
+++ b/llvm/lib/Analysis/CallPrinter.cpp
@@ -298,10 +298,6 @@ char CallGraphDOTPrinter::ID = 0;
 INITIALIZE_PASS(CallGraphDOTPrinter, "dot-callgraph",
                 "Print call graph to 'dot' file", false, false)
 
-// Create methods available outside of this file, to use them
-// "include/llvm/LinkAllPasses.h". Otherwise the pass would be deleted by
-// the link time optimization.
-
 ModulePass *llvm::createCallGraphViewerPass() { return new CallGraphViewer(); }
 
 ModulePass *llvm::createCallGraphDOTPrinterPass() {

diff  --git a/llvm/lib/Analysis/DomPrinter.cpp b/llvm/lib/Analysis/DomPrinter.cpp
index ebbe0d3e2c5fb..86a1472dc3a59 100644
--- a/llvm/lib/Analysis/DomPrinter.cpp
+++ b/llvm/lib/Analysis/DomPrinter.cpp
@@ -261,10 +261,6 @@ INITIALIZE_PASS(PostDomOnlyPrinter, "dot-postdom-only",
                 "(with no function bodies)",
                 false, false)
 
-// Create methods available outside of this file, to use them
-// "include/llvm/LinkAllPasses.h". Otherwise the pass would be deleted by
-// the link time optimization.
-
 FunctionPass *llvm::createDomPrinterPass() {
   return new DomPrinter();
 }

diff  --git a/llvm/lib/Analysis/RegionInfo.cpp b/llvm/lib/Analysis/RegionInfo.cpp
index 3ba0bb9eaf2cf..d069cc56a1c97 100644
--- a/llvm/lib/Analysis/RegionInfo.cpp
+++ b/llvm/lib/Analysis/RegionInfo.cpp
@@ -166,10 +166,6 @@ INITIALIZE_PASS_DEPENDENCY(DominanceFrontierWrapperPass)
 INITIALIZE_PASS_END(RegionInfoPass, "regions",
                 "Detect single entry single exit regions", true, true)
 
-// Create methods available outside of this file, to use them
-// "include/llvm/LinkAllPasses.h". Otherwise the pass would be deleted by
-// the link time optimization.
-
 namespace llvm {
 
   FunctionPass *createRegionInfoPass() {

diff  --git a/llvm/lib/CodeGen/MachineRegionInfo.cpp b/llvm/lib/CodeGen/MachineRegionInfo.cpp
index 45cdcbfeab9f1..e6304c34a03d2 100644
--- a/llvm/lib/CodeGen/MachineRegionInfo.cpp
+++ b/llvm/lib/CodeGen/MachineRegionInfo.cpp
@@ -136,10 +136,6 @@ INITIALIZE_PASS_DEPENDENCY(MachineDominanceFrontier)
 INITIALIZE_PASS_END(MachineRegionInfoPass, DEBUG_TYPE,
                     "Detect single entry single exit regions", true, true)
 
-// Create methods available outside of this file, to use them
-// "include/llvm/LinkAllPasses.h". Otherwise the pass would be deleted by
-// the link time optimization.
-
 namespace llvm {
 
 FunctionPass *createMachineRegionInfoPass() {

diff  --git a/llvm/tools/bugpoint/bugpoint.cpp b/llvm/tools/bugpoint/bugpoint.cpp
index 937ec23231b07..def5eb6b986e1 100644
--- a/llvm/tools/bugpoint/bugpoint.cpp
+++ b/llvm/tools/bugpoint/bugpoint.cpp
@@ -19,8 +19,6 @@
 #include "llvm/IR/LegacyPassManager.h"
 #include "llvm/IR/LegacyPassNameParser.h"
 #include "llvm/InitializePasses.h"
-#include "llvm/LinkAllIR.h"
-#include "llvm/LinkAllPasses.h"
 #include "llvm/Passes/PassPlugin.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/InitLLVM.h"
@@ -28,8 +26,10 @@
 #include "llvm/Support/PluginLoader.h"
 #include "llvm/Support/PrettyStackTrace.h"
 #include "llvm/Support/Process.h"
+#include "llvm/Support/Signals.h"
 #include "llvm/Support/TargetSelect.h"
 #include "llvm/Support/Valgrind.h"
+#include "llvm/Transforms/IPO.h"
 #include "llvm/Transforms/IPO/AlwaysInliner.h"
 #include "llvm/Transforms/IPO/PassManagerBuilder.h"
 

diff  --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp
index 9d80f062c8f95..7a536323aacad 100644
--- a/llvm/tools/llc/llc.cpp
+++ b/llvm/tools/llc/llc.cpp
@@ -17,8 +17,6 @@
 #include "llvm/ADT/Triple.h"
 #include "llvm/Analysis/TargetLibraryInfo.h"
 #include "llvm/CodeGen/CommandFlags.h"
-#include "llvm/CodeGen/LinkAllAsmWriterComponents.h"
-#include "llvm/CodeGen/LinkAllCodegenComponents.h"
 #include "llvm/CodeGen/MIRParser/MIRParser.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineModuleInfo.h"

diff  --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp
index d20daa07196bb..c719115071559 100644
--- a/llvm/tools/lli/lli.cpp
+++ b/llvm/tools/lli/lli.cpp
@@ -18,7 +18,6 @@
 #include "llvm/ADT/Triple.h"
 #include "llvm/Bitcode/BitcodeReader.h"
 #include "llvm/CodeGen/CommandFlags.h"
-#include "llvm/CodeGen/LinkAllCodegenComponents.h"
 #include "llvm/Config/llvm-config.h"
 #include "llvm/ExecutionEngine/GenericValue.h"
 #include "llvm/ExecutionEngine/Interpreter.h"

diff  --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp
index 7793a54717933..27f890254da32 100644
--- a/llvm/tools/opt/opt.cpp
+++ b/llvm/tools/opt/opt.cpp
@@ -35,8 +35,6 @@
 #include "llvm/IR/Verifier.h"
 #include "llvm/IRReader/IRReader.h"
 #include "llvm/InitializePasses.h"
-#include "llvm/LinkAllIR.h"
-#include "llvm/LinkAllPasses.h"
 #include "llvm/MC/SubtargetFeature.h"
 #include "llvm/MC/TargetRegistry.h"
 #include "llvm/Remarks/HotnessThresholdParser.h"
@@ -52,6 +50,7 @@
 #include "llvm/Support/YAMLTraits.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Transforms/Coroutines.h"
+#include "llvm/Transforms/IPO.h"
 #include "llvm/Transforms/IPO/AlwaysInliner.h"
 #include "llvm/Transforms/IPO/PassManagerBuilder.h"
 #include "llvm/Transforms/IPO/WholeProgramDevirt.h"


        


More information about the cfe-commits mailing list