[llvm] 3b24e5d - Omit .debug_aranges if it is empty (#99897)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 22 11:56:14 PDT 2024
Author: Edd Dawson
Date: 2024-07-22T19:56:11+01:00
New Revision: 3b24e5d450c01080610e3cbf79727b454cad0d32
URL: https://github.com/llvm/llvm-project/commit/3b24e5d450c01080610e3cbf79727b454cad0d32
DIFF: https://github.com/llvm/llvm-project/commit/3b24e5d450c01080610e3cbf79727b454cad0d32.diff
LOG: Omit .debug_aranges if it is empty (#99897)
SIE tracker: https://jira.sie.sony.com/browse/TOOLCHAIN-16575
Added:
Modified:
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/test/DebugInfo/omit-empty.ll
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 80cd5ec501f25..f88653146cc6f 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -2990,6 +2990,9 @@ struct ArangeSpan {
// Emit a debug aranges section, containing a CU lookup for any
// address we can tie back to a CU.
void DwarfDebug::emitDebugARanges() {
+ if (ArangeLabels.empty())
+ return;
+
// Provides a unique id per text section.
MapVector<MCSection *, SmallVector<SymbolCU, 8>> SectionMap;
@@ -3012,8 +3015,7 @@ void DwarfDebug::emitDebugARanges() {
for (auto &I : SectionMap) {
MCSection *Section = I.first;
SmallVector<SymbolCU, 8> &List = I.second;
- if (List.size() < 1)
- continue;
+ assert(!List.empty());
// If we have no section (e.g. common), just write out
// individual spans for each symbol.
diff --git a/llvm/test/DebugInfo/omit-empty.ll b/llvm/test/DebugInfo/omit-empty.ll
index 0267ec5556f11..351d3055e039b 100644
--- a/llvm/test/DebugInfo/omit-empty.ll
+++ b/llvm/test/DebugInfo/omit-empty.ll
@@ -1,4 +1,4 @@
-; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-objdump -h - | FileCheck %s
+; RUN: %llc_dwarf %s -filetype=obj -generate-arange-section -o - | llvm-objdump -h - | FileCheck %s
; REQUIRES: object-emission
; CHECK-NOT: .debug_
More information about the llvm-commits
mailing list