[all-commits] [llvm/llvm-project] 832eab: [flang] Add a pass-pipeline config callback hook f...
Valentin Churavy via All-commits
all-commits at lists.llvm.org
Tue Aug 4 23:51:00 PDT 2026
Branch: refs/heads/users/vchuravy/pass-pipeline-config-augmentor
Home: https://github.com/llvm/llvm-project
Commit: 832eab1d2de0343c0085d203a283774b6ce96bd3
https://github.com/llvm/llvm-project/commit/832eab1d2de0343c0085d203a283774b6ce96bd3
Author: Valentin Churavy <v.churavy at gmail.com>
Date: 2026-08-05 (Wed, 05 Aug 2026)
Changed paths:
M flang/docs/FlangDriver.md
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/unittests/Optimizer/HLFIRExtensionPointsTest.cpp
Log Message:
-----------
[flang] Add a pass-pipeline config callback hook for plugins
The HLFIR-to-FIR pipeline extension points live on MLIRToLLVMPassPipelineConfig,
which the frontend builds as a local of CodeGenAction, out of reach of a plugin.
Add a process-global registry of callbacks that run on the config before the
pipeline is built. A plugin registers one from a static initializer, so it is in
place before any compilation begins, as FrontendPluginRegistry does for plugin
actions. Both code generation entry points invoke the callbacks, lowerHLFIRToFIR
for -emit-fir and generateLLVMIR for -emit-llvm/-emit-obj, and are mutually
exclusive for a given compilation, so a plugin sees the same behaviour whichever
output was asked for.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list