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> SectionMap; @@ -3012,8 +3015,7 @@ void DwarfDebug::emitDebugARanges() { for (auto &I : SectionMap) { MCSection *Section = I.first; SmallVector &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_