[all-commits] [llvm/llvm-project] 80603c: [CoroSplit] Never collect allocas used by catchpad...
Weibo He via All-commits
all-commits at lists.llvm.org
Tue Mar 24 19:37:53 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 80603c6672226cb48798bd60120c8f859dbeca19
https://github.com/llvm/llvm-project/commit/80603c6672226cb48798bd60120c8f859dbeca19
Author: Weibo He <NewSigma at 163.com>
Date: 2026-03-25 (Wed, 25 Mar 2026)
Changed paths:
M llvm/docs/Coroutines.rst
M llvm/docs/LangRef.rst
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
A llvm/test/Transforms/Coroutines/coro-alloca-10.ll
M llvm/unittests/FuzzMutate/StrategiesTest.cpp
Log Message:
-----------
[CoroSplit] Never collect allocas used by catchpad into frame (#186728)
Windows EH requires exception objects allocated on stack. But there is
no reliable way to identify them. CoroSplit employs a best-effort
algorithm to determine whether allocas persist on the stack or the
frame, which may result in miscompilation when Windows exceptions are
used.
This patch proposes that we treat allocas used by catchpad as exception
objects and never place them on the frame. A verifier check is added to
enforce that operands of catchpad are either constants or allocas.
Close #143235 Close #153949 Close #182584
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