[all-commits] [llvm/llvm-project] d9eece: [ObjC][ARC] Teach the OptimizeSequences step of Ob...

Stefan Gränitz via All-commits all-commits at lists.llvm.org
Tue Jan 24 06:17:53 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d9eece916a8a9b370e1f90e6461c612d12c55729
      https://github.com/llvm/llvm-project/commit/d9eece916a8a9b370e1f90e6461c612d12c55729
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M clang/test/CodeGenObjCXX/arc-exceptions-seh.mm
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    A llvm/test/Transforms/ObjCARC/funclet-catchpad.ll

  Log Message:
  -----------
  [ObjC][ARC] Teach the OptimizeSequences step of ObjCARCOpts about WinEH funclet tokens

When optimizing retain-release-sequences we insert (and delete) ObjC runtime calls. These calls need a funclet operand bundle that refers to the enclosing funclet pad whenever they are inserted in a WinEH funclet. WinEH funclets can contain multiple basic blocks. In order to find the enclosing funclet pad, we have to calculate the funclet coloring first.

Reviewed By: ahatanak

Differential Revision: https://reviews.llvm.org/D137944


  Commit: 13a85a78cfea78af908300b3e8993b57da83921f
      https://github.com/llvm/llvm-project/commit/13a85a78cfea78af908300b3e8993b57da83921f
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    A llvm/test/Transforms/ObjCARC/funclet-cleanuppad.ll
    R llvm/test/Transforms/ObjCARC/funclet.ll

  Log Message:
  -----------
  [ObjC][ARC] Share bundle handling code between steps of the ObjCARCOpts pass and cleanup (NFC)

Generalize and share code for operand bundle handling. Drop the anonymous namespace (all other helper functions are local static). Rename the existing funclet test for cleanup-pads.

Reviewed By: compnerd

Differential Revision: https://reviews.llvm.org/D137945


Compare: https://github.com/llvm/llvm-project/compare/85427941e7e1...13a85a78cfea


More information about the All-commits mailing list