[llvm] 8e04896 - NFC: DebugInfo: Refactor RangeSpanList to be a struct, like DebugLocStream::List
Eric Christopher via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 12 17:57:16 PST 2019
I saw this too in a build of compiler-rt in a combined tree.
I've gone ahead and reverted thusly at the moment:
echristo at athyra ~/r/llvm-project> git push
To github.com:llvm/llvm-project.git
cdb45605571..a8154e5e0c8 master -> master
as it looks like Dave has headed home.
On Thu, Dec 12, 2019 at 5:46 PM Vedant Kumar via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Hi,
>
> Just a heads-up that the lldb / debuginfo-tests bot started failing when
> this landed:
>
> http://lab.llvm.org:8080/green/view/LLDB/job/lldb-cmake/4676/
>
> Stack dump:
> 0. Program arguments: /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/bin/clang-10 -cc1 -triple x86_64-apple-macosx10.14.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -main-file-name foreach.m -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-rounding-math -masm-verbose -munwind-tables -target-sdk-version=10.14 -target-cpu penryn -dwarf-column-info -debug-info-kind=standalone -dwarf-version=4 -debugger-tuning=lldb -target-linker-version 409.12 -resource-dir /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/lib/clang/10.0.99 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include -internal-isystem /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/lib/clang/10.0.99/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -O0 -fdebug-compilation-dir /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/projects/debuginfo-tests/llgdb-tests -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fobjc-runtime=macosx-10.14.0 -fobjc-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/projects/debuginfo-tests/llgdb-tests/Output/foreach.m.tmp.o -x objective-c /Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/debuginfo-tests/llgdb-tests/foreach.m
> 1. <eof> parser at end of file
> 2. Code generation
> 0 clang-10 0x000000010a6d1785 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
> 1 clang-10 0x000000010a6d0698 llvm::sys::RunSignalHandlers() + 248
> 2 clang-10 0x000000010a6d1d76 SignalHandler(int) + 262
> 3 libsystem_platform.dylib 0x00007fff588d1b3d _sigtramp + 29
> 4 clang-10 0x000000010a2d2ca0 llvm::MCObjectStreamer::EmitBytes(llvm::StringRef) + 144
> 5 clang-10 0x000000010a2ca553 (anonymous namespace)::MCMachOStreamer::EmitLabel(llvm::MCSymbol*, llvm::SMLoc) + 35
> 6 clang-10 0x000000010b1b139d llvm::DwarfDebug::emitDebugRangesImpl(llvm::DwarfFile const&, llvm::MCSection*) + 429
> 7 clang-10 0x000000010b1a8c58 llvm::DwarfDebug::endModule() + 376
> 8 clang-10 0x000000010b177d5e llvm::AsmPrinter::doFinalization(llvm::Module&) + 1998
> 9 clang-10 0x0000000109f51c96 llvm::FPPassManager::doFinalization(llvm::Module&) + 54
> 10 clang-10 0x0000000109f52206 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1334
> 11 clang-10 0x000000010a916cd2 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream> >) + 13698
> 12 clang-10 0x000000010abda154 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1108
> 13 clang-10 0x000000010bc292b3 clang::ParseAST(clang::Sema&, bool, bool) + 643
> 14 clang-10 0x000000010aeeb4d3 clang::FrontendAction::Execute() + 99
> 15 clang-10 0x000000010ae7c3e3 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1619
> 16 clang-10 0x000000010af60a0c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1772
> 17 clang-10 0x0000000108849979 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 2233
>
>
> vedant
>
> On Dec 12, 2019, at 4:54 PM, David Blaikie via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>
> Author: David Blaikie
> Date: 2019-12-12T16:53:59-08:00
> New Revision: 8e04896288d22ed8bef7ac367923374f96b753d6
>
> URL:
> https://github.com/llvm/llvm-project/commit/8e04896288d22ed8bef7ac367923374f96b753d6
> DIFF:
> https://github.com/llvm/llvm-project/commit/8e04896288d22ed8bef7ac367923374f96b753d6.diff
>
> LOG: NFC: DebugInfo: Refactor RangeSpanList to be a struct, like
> DebugLocStream::List
>
> Move these data structures closer together so their emission code can
> eventually share more of its implementation.
>
> Added:
>
>
> Modified:
> llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
> llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
> llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
>
> Removed:
>
>
>
>
> ################################################################################
> diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
> b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
> index 0f3d8c689fa0..5707f962b4be 100644
> --- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
> +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
> @@ -503,10 +503,10 @@ void DwarfCompileUnit::addScopeRangeList(DIE
> &ScopeDIE,
> const MCSymbol *RangeSectionSym =
> TLOF.getDwarfRangesSection()->getBeginSymbol();
> if (isDwoUnit())
> - addSectionDelta(ScopeDIE, dwarf::DW_AT_ranges, List.getSym(),
> + addSectionDelta(ScopeDIE, dwarf::DW_AT_ranges, List.Label,
> RangeSectionSym);
> else
> - addSectionLabel(ScopeDIE, dwarf::DW_AT_ranges, List.getSym(),
> + addSectionLabel(ScopeDIE, dwarf::DW_AT_ranges, List.Label,
> RangeSectionSym);
> }
> }
>
> diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> index aa33659cd06e..62745f9bee72 100644
> --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> @@ -2331,7 +2331,7 @@ static MCSymbol *emitRnglistsTableHeader(AsmPrinter
> *Asm,
> Asm->OutStreamer->EmitLabel(Holder.getRnglistsTableBaseSym());
>
> for (const RangeSpanList &List : Holder.getRangeLists())
> - Asm->EmitLabelDifference(List.getSym(),
> Holder.getRnglistsTableBaseSym(),
> + Asm->EmitLabelDifference(List.Label, Holder.getRnglistsTableBaseSym(),
> 4);
>
> return TableEnd;
> @@ -2688,11 +2688,11 @@ void DwarfDebug::emitDebugARanges() {
> /// Emit a single range list. We handle both DWARF v5 and earlier.
> static void emitRangeList(DwarfDebug &DD, AsmPrinter *Asm,
> const RangeSpanList &List) {
> - emitRangeList(DD, Asm, List.getSym(), List.getRanges(), List.getCU(),
> + emitRangeList(DD, Asm, List.Label, List.Ranges, *List.CU,
> dwarf::DW_RLE_base_addressx, dwarf::DW_RLE_offset_pair,
> dwarf::DW_RLE_startx_length, dwarf::DW_RLE_end_of_list,
> llvm::dwarf::RangeListEncodingString,
> - List.getCU().getCUNode()->getRangesBaseAddress() ||
> + List.CU->getCUNode()->getRangesBaseAddress() ||
> DD.getDwarfVersion() >= 5,
> [](auto) {});
> }
> @@ -2709,8 +2709,9 @@ void DwarfDebug::emitDebugRangesImpl(const DwarfFile
> &Holder, MCSection *Section
>
> Asm->OutStreamer->SwitchSection(Section);
>
> - MCSymbol *TableEnd =
> - getDwarfVersion() < 5 ? nullptr : emitRnglistsTableHeader(Asm,
> Holder);
> + MCSymbol *TableEnd = nullptr;
> + if (getDwarfVersion() < 5)
> + TableEnd = emitRnglistsTableHeader(Asm, Holder);
>
> for (const RangeSpanList &List : Holder.getRangeLists())
> emitRangeList(*this, Asm, List);
>
> diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
> b/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
> index e3c9095d1343..e5c4db58f477 100644
> --- a/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
> +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
> @@ -126,6 +126,6 @@ void DwarfFile::addScopeLabel(LexicalScope *LS,
> DbgLabel *Label) {
> std::pair<uint32_t, RangeSpanList *>
> DwarfFile::addRange(const DwarfCompileUnit &CU, SmallVector<RangeSpan, 2>
> R) {
> CURangeLists.push_back(
> - RangeSpanList(Asm->createTempSymbol("debug_ranges"), CU,
> std::move(R)));
> + RangeSpanList{Asm->createTempSymbol("debug_ranges"), &CU,
> std::move(R)});
> return std::make_pair(CURangeLists.size() - 1, &CURangeLists.back());
> }
>
> diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
> b/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
> index 35fa51fb24c4..cf293d7534d0 100644
> --- a/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
> +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
> @@ -37,21 +37,12 @@ struct RangeSpan {
> const MCSymbol *End;
> };
>
> -class RangeSpanList {
> -private:
> +struct RangeSpanList {
> // Index for locating within the debug_range section this particular
> span.
> - MCSymbol *RangeSym;
> + MCSymbol *Label;
> const DwarfCompileUnit *CU;
> // List of ranges.
> SmallVector<RangeSpan, 2> Ranges;
> -
> -public:
> - RangeSpanList(MCSymbol *Sym, const DwarfCompileUnit &CU,
> - SmallVector<RangeSpan, 2> Ranges)
> - : RangeSym(Sym), CU(&CU), Ranges(std::move(Ranges)) {}
> - MCSymbol *getSym() const { return RangeSym; }
> - const DwarfCompileUnit &getCU() const { return *CU; }
> - const SmallVectorImpl<RangeSpan> &getRanges() const { return Ranges; }
> };
>
> class DwarfFile {
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191212/98246843/attachment.html>
More information about the llvm-commits
mailing list