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

via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 17 15:49:21 PDT 2026


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

The current hook will give flexibility to backend developers.

Also, `IsEH &&` here seems like a bug, because it unnecessarily forces a single CIE for non-EH debug_frame even when the CIE fields are different.

@MaskRay and @echristo for visibility, as this change is related to MC and DWARF, respectively. 

The outstanding questions are:
1. Fix direction: one of [the current change, removing `IsEH &&`, no change if the idea below works]
2. Do you require test cases even on the current changes that should keep the existing behavior always?

I have an idea to try. If that works, this PR is not necessary. I'll keep you posted.

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


More information about the llvm-commits mailing list