[all-commits] [llvm/llvm-project] 7b927d: WebAssembly: Take the exception model from the mod...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Oct 1 01:52:29 PDT 2026


  Branch: refs/heads/users/arsenm/wasm/eh-passes-read-exception-model-flag
  Home:   https://github.com/llvm/llvm-project
  Commit: 7b927d74f66194944065d9470e69bb18b1dc29dd
      https://github.com/llvm/llvm-project/commit/7b927d74f66194944065d9470e69bb18b1dc29dd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-10-01 (Thu, 01 Oct 2026)

  Changed paths:
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Transforms/Utils/LowerInvoke.cpp
    A llvm/test/CodeGen/WebAssembly/exception-model.ll
    A llvm/test/CodeGen/WebAssembly/wasm-eh-prepare-exception-model.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    A llvm/test/Transforms/LowerInvoke/respect-exception-model-flag.ll

  Log Message:
  -----------
  WebAssembly: Take the exception model from the module flag

The WebAssembly EH passes chose whether and how to run from
MCAsmInfo::getExceptionHandlingType() and TargetOptions::ExceptionModel,
A module that asked for Wasm EH through the module flag alone would have
its invokes rewritten by LowerInvoke before WasmEHPrepare ran.

Schedule the passes unconditionally and read the module flag inside the
passes instead. Passes for other models can noop on the models they are
not intended for.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>


  Commit: 52b22613df19cee41effc1d64b976a0c20dffb33
      https://github.com/llvm/llvm-project/commit/52b22613df19cee41effc1d64b976a0c20dffb33
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-10-01 (Thu, 01 Oct 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/WasmEHPrepare.h
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/exception-model.ll

  Log Message:
  -----------
  Fall back to the TargetOptions exception model

Staging change to keep tests working until the full removal


Compare: https://github.com/llvm/llvm-project/compare/21ecc0ccc9c2...52b22613df19

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