[LLVM][NFC] Move PassPlugin from Passes to separate library

This avoid pulling in the entire Passes library with all passes as
dependencies when just referring to PassPlugin, which is in fact
independent of the Passes themselves.

Pull Request: https://github.com/llvm/llvm-project/pull/173279
This commit is contained in:
Alexis Engelke 2025-12-22 18:11:34 +01:00 committed by GitHub
parent c471badd81
commit f54df0d09e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 46 additions and 30 deletions

View File

@ -41,8 +41,8 @@
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Object/OffloadBinary.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Passes/StandardInstrumentations.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/ProfileData/InstrProfCorrelator.h"
#include "llvm/Support/BuryPointer.h"
#include "llvm/Support/CommandLine.h"

View File

@ -25,6 +25,7 @@ set(LLVM_LINK_COMPONENTS
ObjCARCOpts
Object
Passes
Plugins
ProfileData
ScalarOpts
Support

View File

@ -8,6 +8,7 @@ set(LLVM_LINK_COMPONENTS
TransformUtils
Analysis
Passes
Plugins
IRReader
Object
Option

View File

@ -38,7 +38,7 @@
#include "llvm/Option/ArgList.h"
#include "llvm/Option/OptTable.h"
#include "llvm/Option/Option.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Remarks/HotnessThresholdParser.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Errc.h"

View File

@ -46,6 +46,7 @@ add_flang_library(flangFrontend
LINK_COMPONENTS
Passes
Plugins
Analysis
BitReader
Extensions

View File

@ -55,8 +55,8 @@
#include "llvm/Linker/Linker.h"
#include "llvm/Object/OffloadBinary.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Passes/StandardInstrumentations.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/ProfileData/InstrProfCorrelator.h"
#include "llvm/Support/AMDGPUAddrSpace.h"
#include "llvm/Support/Error.h"

View File

@ -2,7 +2,7 @@
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/Pass.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"

View File

@ -38,7 +38,7 @@
#include "llvm/IR/PassManager.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
using namespace llvm;

View File

@ -1,4 +1,4 @@
//===- llvm/Passes/PassPlugin.h - Public Plugin API -----------------------===//
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@ -10,8 +10,8 @@
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_PASSES_PASSPLUGIN_H
#define LLVM_PASSES_PASSPLUGIN_H
#ifndef LLVM_PLUGINS_PASSPLUGIN_H
#define LLVM_PLUGINS_PASSPLUGIN_H
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/CodeGen.h"
@ -112,7 +112,7 @@ private:
sys::DynamicLibrary Library;
PassPluginLibraryInfo Info;
};
}
} // namespace llvm
// The function returns a struct with default initializers.
#ifdef __clang__
@ -139,4 +139,4 @@ llvmGetPassPluginInfo();
#pragma clang diagnostic pop
#endif
#endif /* LLVM_PASSES_PASSPLUGIN_H */
#endif /* LLVM_PLUGINS_PASSPLUGIN_H */

View File

@ -41,6 +41,7 @@ add_subdirectory(AsmParser)
add_subdirectory(LineEditor)
add_subdirectory(ProfileData)
add_subdirectory(Passes)
add_subdirectory(Plugins)
add_subdirectory(TargetParser)
add_subdirectory(TextAPI)
add_subdirectory(Telemetry)

View File

@ -1,4 +1,4 @@
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#define HANDLE_EXTENSION(Ext) \
llvm::PassPluginLibraryInfo get##Ext##PluginInfo();
#include "llvm/Support/Extension.def"

View File

@ -34,6 +34,7 @@ add_llvm_component_library(LLVMLTO
ObjCARC
Object
Passes
Plugins
Remarks
Scalar
Support

View File

@ -30,8 +30,8 @@
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Object/ModuleSymbolTable.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Passes/StandardInstrumentations.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MemoryBuffer.h"

View File

@ -4,7 +4,6 @@ add_llvm_component_library(LLVMPasses
PassBuilder.cpp
PassBuilderBindings.cpp
PassBuilderPipelines.cpp
PassPlugin.cpp
StandardInstrumentations.cpp
ADDITIONAL_HEADER_DIRS

View File

@ -0,0 +1,6 @@
add_llvm_component_library(LLVMPlugins
PassPlugin.cpp
LINK_COMPONENTS
Support
)

View File

@ -1,4 +1,4 @@
//===- lib/Passes/PassPluginLoader.cpp - Load Plugins for New PM Passes ---===//
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdint>

View File

@ -14,6 +14,7 @@ set(LLVM_LINK_COMPONENTS
InstCombine
Instrumentation
Linker
Plugins
ObjCARCOpts
ScalarOpts
Support

View File

@ -21,7 +21,7 @@
#include "llvm/InitializePasses.h"
#include "llvm/LinkAllIR.h"
#include "llvm/LinkAllPasses.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/AlwaysTrue.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/InitLLVM.h"

View File

@ -13,6 +13,7 @@ set(LLVM_LINK_COMPONENTS
MC
MIRParser
Passes
Plugins
Remarks
ScalarOpts
SelectionDAG

View File

@ -40,7 +40,7 @@
#include "llvm/MC/MCTargetOptionsCommandFlags.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Pass.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Remarks/HotnessThresholdParser.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"

View File

@ -11,6 +11,7 @@ set(LLVM_LINK_COMPONENTS
MC
Object
Passes
Plugins
Support
Target
TargetParser

View File

@ -20,7 +20,7 @@
#include "llvm/CodeGen/CommandFlags.h"
#include "llvm/IR/DiagnosticPrinter.h"
#include "llvm/LTO/LTO.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Remarks/HotnessThresholdParser.h"
#include "llvm/Support/Caching.h"
#include "llvm/Support/CommandLine.h"

View File

@ -19,6 +19,7 @@ set(LLVM_LINK_COMPONENTS
Instrumentation
MC
ObjCARCOpts
Plugins
Remarks
ScalarOpts
Support

View File

@ -30,8 +30,8 @@
#include "llvm/IR/Verifier.h"
#include "llvm/IRPrinter/IRPrintingPasses.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Passes/StandardInstrumentations.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/ToolOutputFile.h"

View File

@ -39,7 +39,7 @@
#include "llvm/LinkAllPasses.h"
#include "llvm/MC/MCTargetOptionsCommandFlags.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Remarks/HotnessThresholdParser.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"

View File

@ -5,6 +5,7 @@ set(LLVM_LINK_COMPONENTS
Core
Instrumentation
Passes
Plugins
Support
TargetParser
TransformUtils

View File

@ -2,7 +2,7 @@
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"

View File

@ -2,7 +2,7 @@
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"

View File

@ -3,7 +3,7 @@
#include "llvm/Config/config.h"
#include "llvm/IR/Module.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Testing/Support/Error.h"

View File

@ -3,7 +3,7 @@
#include "llvm/Config/config.h"
#include "llvm/IR/Module.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Testing/Support/Error.h"

View File

@ -3,7 +3,7 @@
# work with DLLs on Windows (where a shared library can't have undefined
# references), so just skip this testcase on Windows.
if (NOT WIN32 AND NOT CYGWIN)
set(LLVM_LINK_COMPONENTS Support Passes Core AsmParser)
set(LLVM_LINK_COMPONENTS Support Passes Plugins Core AsmParser)
add_llvm_unittest(PluginsTests
PluginsTest.cpp

View File

@ -9,7 +9,7 @@
#include "llvm/IR/Module.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
using namespace llvm;

View File

@ -13,7 +13,7 @@
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SourceMgr.h"

View File

@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "../TestPlugin.h"

View File

@ -24,6 +24,7 @@ set(POLLY_COMPONENTS
ipo
MC
Passes
Plugins
Linker
IRReader
Analysis

View File

@ -10,7 +10,7 @@
#include "polly/RegisterPasses.h"
#include "llvm/PassRegistry.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
// Pass Plugin Entrypoints

View File

@ -46,7 +46,7 @@
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Plugins/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/TargetSelect.h"