[all-commits] [llvm/llvm-project] 3e8fc3: [CIR] Implement 'coroutine' exception handling low...
Erich Keane via All-commits
all-commits at lists.llvm.org
Thu May 28 05:49:20 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3e8fc3561fb5ccd50441804a56244fac6142e7b4
https://github.com/llvm/llvm-project/commit/3e8fc3561fb5ccd50441804a56244fac6142e7b4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
A clang/test/CIR/CodeGen/coro-exceptions.cpp
Log Message:
-----------
[CIR] Implement 'coroutine' exception handling lowering (#200045)
This patch implements the lowering to CIR for exception handling.
Unfortunately the missing components of Flatten-CFG don't work here, so
we only test that we get successfully to CIR, not to LLVM-IR.
This patch runs the 'await-resume' in a try/catch, and only if that
succeeds, does it run the coroutine body (also in a try/catch if there
is an exception handler).
This is nearly identical to the implementation in classic-codegen,
except we invert the resume-eh variable's value, so we can just use a
simple `if` op for the branch.
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