[all-commits] [llvm/llvm-project] 99c634: [win] Fix EH Cont Guard targets when SEH personali...

Daniel Paoliello via All-commits all-commits at lists.llvm.org
Fri Mar 7 09:08:09 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 99c6342b5e71098197f12066fd628865793e6300
      https://github.com/llvm/llvm-project/commit/99c6342b5e71098197f12066fd628865793e6300
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-eh.ll
    M llvm/test/CodeGen/AArch64/landingpad-ifcvt.ll
    M llvm/test/CodeGen/X86/seh-except-restore.ll
    M llvm/test/CodeGen/X86/win32-seh-catchpad.ll

  Log Message:
  -----------
  [win] Fix EH Cont Guard targets when SEH personality is used (#129612)

There were two issues when `/guard:ehcont` is enabled with the SEH
personality on Windows:
1. As @namazso correctly identified, we bail out of
`WinException::endFunction` early for `MSVC_TableSEH` with funclets,
expecting the exception data to be emitted in `endFunclet`, but
`endFunclet` didn't copy the EHCont metadata from the function to the
module.
2. The SEH personality requires that the basic block containing the
`catchpad` is the target, not the `catchret`.

Fixes #64585



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