diff --git a/clang/tools/driver/cc1_main.cpp b/clang/tools/driver/cc1_main.cpp index fd3b25ccb3cb..19273f97c921 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 133775c92dde..c9955d177036 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 different 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 81b0025fdddc..000000000000 --- 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 - -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 1b13ff53ac85..000000000000 --- 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 - -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 4b0aabeee701..000000000000 --- 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 - -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 45978828a8ce..000000000000 --- 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 - -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 6cbbb9a4028e..2d4a05f35699 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 829532a0fa10..f6499bc8779c 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 ebbe0d3e2c5f..86a1472dc3a5 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 3ba0bb9eaf2c..d069cc56a1c9 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 45cdcbfeab9f..e6304c34a03d 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 937ec23231b0..def5eb6b986e 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 9d80f062c8f9..7a536323aaca 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 d20daa07196b..c71911507155 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 7793a5471793..27f890254da3 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"