[all-commits] [llvm/llvm-project] 3e45de: [CIR] Spill and reload values across deferred clea...
Andy Kaylor via All-commits
all-commits at lists.llvm.org
Mon Jun 1 13:17:43 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3e45dea1ecce8e0360f58a74f2d4cd45eac301e4
https://github.com/llvm/llvm-project/commit/3e45dea1ecce8e0360f58a74f2d4cd45eac301e4
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-01 (Mon, 01 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
Log Message:
-----------
[CIR] Spill and reload values across deferred cleanup scopes (#200904)
The `valuesToReload` handling in our `RunCleanupScope::forceCleanup()`
function was not taking into account cleanup scopes for deferred
conditional cleanups that get created when we call
`forceDeactivation()`. This was leading to a CIR verification error in
cases where a deferred cleanup was used in an expression that returns a
value.
This change adds code to spill values ahead of the `forceDeactivation()`
call when we see that there are cleanups on the deferred stack.
Assisted-by: Cursor / claude-opus-4.7
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