[all-commits] [llvm/llvm-project] 08ac3b: [win][aarch64] Place catch objects in the fixed ob...
Daniel Paoliello via All-commits
all-commits at lists.llvm.org
Tue Jul 8 12:44:32 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 08ac3b39d463b39860f3230933d5d72541368bd5
https://github.com/llvm/llvm-project/commit/08ac3b39d463b39860f3230933d5d72541368bd5
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-08 (Tue, 08 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/wineh-aligned-stack-obj.ll
A llvm/test/CodeGen/AArch64/wineh-reuse-catch-alloca.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
Log Message:
-----------
[win][aarch64] Place catch objects in the fixed object area (#147421)
Fixes #146973
When an object with alignment requirements is placed on the stack, this
causes a stack realignment which causes AArch64 to use x19 to refer to
objects on the stack as there may be a gap between local variables and
the Stack Pointer. This causes issues with the MSVC C++ exception
personality as the offset to the catch object recorded in the handler
table no longer matches the object being used in the catch block itself.
The fix for this is to place catch objects into the fixed object area.
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