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

Matt Arsenault via All-commits all-commits at lists.llvm.org
Wed Sep 23 03:37:48 PDT 2026


  Branch: refs/heads/users/arsenm/wineh/derive-demote-catchswitch-from-personality
  Home:   https://github.com/llvm/llvm-project
  Commit: ced4518666ee98de7c606dd014fe610ffbbb6742
      https://github.com/llvm/llvm-project/commit/ced4518666ee98de7c606dd014fe610ffbbb6742
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-23 (Wed, 23 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

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