[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