[all-commits] [llvm/llvm-project] 9a9d63: [CGObjC] Open cleanup scope before SaveAndRestore ...
Stefan Gränitz via All-commits
all-commits at lists.llvm.org
Tue Nov 22 03:03:43 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9a9d636caeea9ca9364b906364ac1aaba0869858
https://github.com/llvm/llvm-project/commit/9a9d636caeea9ca9364b906364ac1aaba0869858
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2022-11-22 (Tue, 22 Nov 2022)
Changed paths:
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/test/CodeGenObjCXX/arc-exceptions-seh.mm
Log Message:
-----------
[CGObjC] Open cleanup scope before SaveAndRestore CurrentFuncletPad and push CatchRetScope early
Pushing the `CatchRetScope` early causes cleanups for catch parameters to be emitted in the basic block of the catch handler instead of the `catchret.dest` block. This is important because the latter is not part of the catchpad and this caused code truncations due to ARC PreISel intrinsics in WinEHPrepare.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D137939
More information about the All-commits
mailing list