[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