[all-commits] [llvm/llvm-project] 36cfc5: [CIR] Lower cir.construct_catch_param on Itanium (...

Andy Kaylor via All-commits all-commits at lists.llvm.org
Thu May 7 13:02:16 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 36cfc5929b61ceefa264eeb6283759bf1c192d29
      https://github.com/llvm/llvm-project/commit/36cfc5929b61ceefa264eeb6283759bf1c192d29
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-07 (Thu, 07 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    A clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.h
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/test/CIR/IR/construct-catch-param.cir
    M clang/test/CIR/IR/invalid-construct-catch-param.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir

  Log Message:
  -----------
  [CIR] Lower cir.construct_catch_param on Itanium (#195904)

Implement Itanium-ABI lowering of the `cir.construct_catch_param`
operation. This operation encapsulates the target-specific work that
must happen before `__cxa_begin_catch` to bind an in-flight exception
object to a non-trivially-copyable catch parameter

In order to allow the full copy-constructor call generation handling,
including call site attribute generation, to be reused during codegen,
we will be generating a thunk function to perform the copy construction
when it is needed. This function gets inlined during EHABI lowering.
This allows us to generate a target-independent representation during
the initial CIR code generation without having to duplicate the copy
construction logic in the EHABI lowering pass.

The actual generation of the thunk function and the
construct_catch_param operation will be added in a follow-up change.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh



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