[all-commits] [llvm/llvm-project] f4eb72: CodeGen: Derive WinEHPrepare PHI demotion from the...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Sep 24 01:40:41 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f4eb722b0c41a8ac1a239edc8384f8577a1abed4
      https://github.com/llvm/llvm-project/commit/f4eb722b0c41a8ac1a239edc8384f8577a1abed4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/WinEHPrepare.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/Passes/CodeGenPassBuilder.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    A llvm/test/CodeGen/WebAssembly/wineh-prepare-wasm-personality.ll
    A llvm/test/CodeGen/X86/wineh-prepare-dwarf-personality.ll

  Log Message:
  -----------
  CodeGen: Derive WinEHPrepare PHI demotion from the personality (#225676)

Previously WinEHPrepare had a catchswitch-only pass option which was
set based on the exception model in the pass config. The only special
case using it was for Wasm EH, which reuses the Windows EH instruction but
does not outline funclets so only needs the catchwitch dispatch phi handling.
Instead check the properties of the personality function inside the pass, so the
pass config is less dependent on knowing the exception model.

Also, make sure the pass is a nop for dwarf EH which appears to be untested.

Co-authored-by: Claude (Claude-Opus-4.8) <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