[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