[llvm-branch-commits] [clang] [Clang] Load pass plugins before parsing LLVM options (PR #171868)

Vassil Vassilev via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Dec 15 04:16:52 PST 2025


================
@@ -233,6 +234,20 @@ bool ExecuteCompilerInvocation(CompilerInstance *Clang) {
 
   Clang->LoadRequestedPlugins();
 
+  // Load and store pass plugins for the back-end. Store the loaded pass plugins
+  // here and store references to these in CodeGenOpts to avoid pulling in the
+  // entire PassPlugin dependency chain in CodeGenOpts.
+  std::vector<std::unique_ptr<llvm::PassPlugin>> PassPlugins;
+  for (const std::string &Path : Clang->getCodeGenOpts().PassPluginNames) {
----------------
vgvassilev wrote:

Clang should not have multiple ways to deal with plugins. For me that is a design issue and we will need to address it. 

It seems the merged pr was done because of the lack of proper backend plugin support which we are intending to fix. 

https://github.com/llvm/llvm-project/pull/171868


More information about the llvm-branch-commits mailing list