[llvm] 8e04896 - NFC: DebugInfo: Refactor RangeSpanList to be a struct, like DebugLocStream::List

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 16:32:38 PST 2019


Thanks for the revert, sorry for the noise! (was a pretty egregious
mistake, clearly I didn't test this - sorry about that)

On Fri, Dec 13, 2019 at 8:55 AM Vedant Kumar via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Thanks Eric!
>
> On Dec 12, 2019, at 5:57 PM, Eric Christopher via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
> 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
>>
> _______________________________________________
> 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/20191216/3d93b729/attachment.html>


More information about the llvm-commits mailing list