From 818de566d103293fe595625bb68c625dd0f5668d Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Sat, 8 Mar 2025 17:03:26 -0800 Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?= =?UTF-8?q?l=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.4 --- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 36 ++++++++++------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index bddc2cd2180b1..2f4802ca2d404 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -5064,29 +5064,23 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() { getReferencedTypeIds(FS, ReferencedTypeIds); } - for (auto &S : Index.cfiFunctionDefs()) { - if (DefOrUseGUIDs.contains( - GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(S)))) { - NameVals.push_back(StrtabBuilder.add(S)); - NameVals.push_back(S.size()); + auto EmitCfiFunctions = [&](const CfiFunctionIndex &CfiIndex, + bitc::GlobalValueSummarySymtabCodes Code) { + for (auto &S : CfiIndex) { + if (DefOrUseGUIDs.contains( + GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(S)))) { + NameVals.push_back(StrtabBuilder.add(S)); + NameVals.push_back(S.size()); + } } - } - if (!NameVals.empty()) { - Stream.EmitRecord(bitc::FS_CFI_FUNCTION_DEFS, NameVals); - NameVals.clear(); - } - - for (auto &S : Index.cfiFunctionDecls()) { - if (DefOrUseGUIDs.contains( - GlobalValue::getGUID(GlobalValue::dropLLVMManglingEscape(S)))) { - NameVals.push_back(StrtabBuilder.add(S)); - NameVals.push_back(S.size()); + if (!NameVals.empty()) { + Stream.EmitRecord(Code, NameVals); + NameVals.clear(); } - } - if (!NameVals.empty()) { - Stream.EmitRecord(bitc::FS_CFI_FUNCTION_DECLS, NameVals); - NameVals.clear(); - } + }; + + EmitCfiFunctions(Index.cfiFunctionDefs(), bitc::FS_CFI_FUNCTION_DEFS); + EmitCfiFunctions(Index.cfiFunctionDecls(), bitc::FS_CFI_FUNCTION_DECLS); // Walk the GUIDs that were referenced, and write the // corresponding type id records.