[llvm] [MC][debug_frame] Add a support for per function CIE (PR #192727)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 17 16:15:53 PDT 2026


================
@@ -1979,7 +1979,8 @@ void MCDwarfFrameEmitter::emit(MCObjectStreamer &Streamer, bool IsEH) {
       continue;
 
     CIEKey Key(Frame);
-    if (!LastCIEStart || (IsEH && Key != LastKey)) {
----------------
s-barannikov wrote:

> Also, `IsEH &&` here seems like a bug

This does look like a bug to me. I think it was unintentionally introduced by dbd0c031, which, if I'm reading correctly, changed the behavior from *always* emitting a fresh CIE in the case of `.debug_frame` to emitting it once.
This wouldn't happen if we had test coverage for this.


https://github.com/llvm/llvm-project/pull/192727


More information about the llvm-commits mailing list