From 11c2defa9157bd589cb322218c718c4492ed5746 Mon Sep 17 00:00:00 2001 From: Kevin Enderby Date: Tue, 10 Jan 2012 21:12:34 +0000 Subject: [PATCH] This is the matching change for the data structure name changes for the functional change in r147860 to use DW_TAG_label's instead TAG_subprogram's. This only changes names and updates comments. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147877 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCContext.h | 14 +++++++------- include/llvm/MC/MCDwarf.h | 12 +++++------- lib/MC/MCDwarf.cpp | 36 +++++++++++++++++------------------ lib/MC/MCParser/AsmParser.cpp | 6 +++--- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/include/llvm/MC/MCContext.h b/include/llvm/MC/MCContext.h index 455b45ea234..90f61f5ccb0 100644 --- a/include/llvm/MC/MCContext.h +++ b/include/llvm/MC/MCContext.h @@ -111,9 +111,9 @@ namespace llvm { /// Symbols created for the start and end of this section. MCSymbol *GenDwarfSectionStartSym, *GenDwarfSectionEndSym; - /// The information gathered from labels that will have dwarf subprogram + /// The information gathered from labels that will have dwarf label /// entries when generating dwarf assembly source files. - std::vector MCGenDwarfSubprogramEntries; + std::vector MCGenDwarfLabelEntries; /// The string to embed in the debug information for the compile unit, if /// non-empty. @@ -287,12 +287,12 @@ namespace llvm { void setGenDwarfSectionEndSym(MCSymbol *Sym) { GenDwarfSectionEndSym = Sym; } - const std::vector - &getMCGenDwarfSubprogramEntries() const { - return MCGenDwarfSubprogramEntries; + const std::vector + &getMCGenDwarfLabelEntries() const { + return MCGenDwarfLabelEntries; } - void addMCGenDwarfSubprogramEntry(const MCGenDwarfSubprogramEntry *E) { - MCGenDwarfSubprogramEntries.push_back(E); + void addMCGenDwarfLabelEntry(const MCGenDwarfLabelEntry *E) { + MCGenDwarfLabelEntries.push_back(E); } void setDwarfDebugFlags(StringRef S) { DwarfDebugFlags = S; } diff --git a/include/llvm/MC/MCDwarf.h b/include/llvm/MC/MCDwarf.h index bca50b21dc2..9e477cbfa27 100644 --- a/include/llvm/MC/MCDwarf.h +++ b/include/llvm/MC/MCDwarf.h @@ -239,8 +239,8 @@ namespace llvm { }; // When generating dwarf for assembly source files this is the info that is - // needed to be gathered for each symbol that will have a dwarf2_subprogram. - class MCGenDwarfSubprogramEntry { + // needed to be gathered for each symbol that will have a dwarf label. + class MCGenDwarfLabelEntry { private: // Name of the symbol without a leading underbar, if any. StringRef Name; @@ -248,14 +248,12 @@ namespace llvm { unsigned FileNumber; // The line number this symbol is at. unsigned LineNumber; - // The low_pc for the dwarf2_subprogram is taken from this symbol. The - // high_pc is taken from the next symbol's value or the end of the section - // for the last symbol + // The low_pc for the dwarf label is taken from this symbol. MCSymbol *Label; public: - MCGenDwarfSubprogramEntry(StringRef name, unsigned fileNumber, - unsigned lineNumber, MCSymbol *label) : + MCGenDwarfLabelEntry(StringRef name, unsigned fileNumber, + unsigned lineNumber, MCSymbol *label) : Name(name), FileNumber(fileNumber), LineNumber(lineNumber), Label(label){} StringRef getName() const { return Name; } diff --git a/lib/MC/MCDwarf.cpp b/lib/MC/MCDwarf.cpp index 83fa0690e95..d8604d4b8e3 100644 --- a/lib/MC/MCDwarf.cpp +++ b/lib/MC/MCDwarf.cpp @@ -631,13 +631,13 @@ static void EmitGenDwarfInfo(MCStreamer *MCOS) { // Third part: the list of label DIEs. - // Loop on saved info for dwarf subprograms and create the DIEs for them. - const std::vector &Entries = - MCOS->getContext().getMCGenDwarfSubprogramEntries(); - for (std::vector::const_iterator it = + // Loop on saved info for dwarf labels and create the DIEs for them. + const std::vector &Entries = + MCOS->getContext().getMCGenDwarfLabelEntries(); + for (std::vector::const_iterator it = Entries.begin(), ie = Entries.end(); it != ie; ++it) { - const MCGenDwarfSubprogramEntry *Entry = *it; + const MCGenDwarfLabelEntry *Entry = *it; // The DW_TAG_label DIE abbrev (2). MCOS->EmitULEB128IntValue(2); @@ -666,12 +666,12 @@ static void EmitGenDwarfInfo(MCStreamer *MCOS) { // Add the NULL DIE terminating the DW_TAG_unspecified_parameters DIE's. MCOS->EmitIntValue(0, 1); } - // Deallocate the MCGenDwarfSubprogramEntry classes that saved away the info - // for the dwarf subprograms. - for (std::vector::const_iterator it = + // Deallocate the MCGenDwarfLabelEntry classes that saved away the info + // for the dwarf labels. + for (std::vector::const_iterator it = Entries.begin(), ie = Entries.end(); it != ie; ++it) { - const MCGenDwarfSubprogramEntry *Entry = *it; + const MCGenDwarfLabelEntry *Entry = *it; delete Entry; } @@ -711,11 +711,11 @@ void MCGenDwarfInfo::Emit(MCStreamer *MCOS) { // When generating dwarf for assembly source files this is called when symbol // for a label is created. If this symbol is not a temporary and is in the // section that dwarf is being generated for, save the needed info to create -// a dwarf subprogram. +// a dwarf label. // -void MCGenDwarfSubprogramEntry::Make(MCSymbol *Symbol, MCStreamer *MCOS, +void MCGenDwarfLabelEntry::Make(MCSymbol *Symbol, MCStreamer *MCOS, SourceMgr &SrcMgr, SMLoc &Loc) { - // We won't create dwarf subprogram's for temporary symbols or symbols not in + // We won't create dwarf label's for temporary symbols or symbols not in // the default text. if (Symbol->isTemporary()) return; @@ -723,17 +723,17 @@ void MCGenDwarfSubprogramEntry::Make(MCSymbol *Symbol, MCStreamer *MCOS, if (context.getGenDwarfSection() != MCOS->getCurrentSection()) return; - // The dwarf subprogram's name does not have the symbol name's leading + // The dwarf label's name does not have the symbol name's leading // underbar if any. StringRef Name = Symbol->getName(); if (Name.startswith("_")) Name = Name.substr(1, Name.size()-1); - // Get the dwarf file number to be used for the dwarf subprogram. + // Get the dwarf file number to be used for the dwarf label. unsigned FileNumber = context.getGenDwarfFileNumber(); // Finding the line number is the expensive part which is why we just don't - // pass it in as for some symbols we won't create a dwarf subprogram. + // pass it in as for some symbols we won't create a dwarf label. int CurBuffer = SrcMgr.FindBufferContainingLoc(Loc); unsigned LineNumber = SrcMgr.FindLineNumber(Loc, CurBuffer); @@ -745,9 +745,9 @@ void MCGenDwarfSubprogramEntry::Make(MCSymbol *Symbol, MCStreamer *MCOS, MCOS->EmitLabel(Label); // Create and entry for the info and add it to the other entries. - MCGenDwarfSubprogramEntry *Entry = - new MCGenDwarfSubprogramEntry(Name, FileNumber, LineNumber, Label); - MCOS->getContext().addMCGenDwarfSubprogramEntry(Entry); + MCGenDwarfLabelEntry *Entry = + new MCGenDwarfLabelEntry(Name, FileNumber, LineNumber, Label); + MCOS->getContext().addMCGenDwarfLabelEntry(Entry); } static int getDataAlignmentFactor(MCStreamer &streamer) { diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp index 5a69bea2fe3..0c05c7ec1a2 100644 --- a/lib/MC/MCParser/AsmParser.cpp +++ b/lib/MC/MCParser/AsmParser.cpp @@ -1076,10 +1076,10 @@ bool AsmParser::ParseStatement() { Out.EmitLabel(Sym); // If we are generating dwarf for assembly source files then gather the - // info to make a dwarf subprogram entry for this label if needed. + // info to make a dwarf label entry for this label if needed. if (getContext().getGenDwarfForAssembly()) - MCGenDwarfSubprogramEntry::Make(Sym, &getStreamer(), getSourceManager(), - IDLoc); + MCGenDwarfLabelEntry::Make(Sym, &getStreamer(), getSourceManager(), + IDLoc); // Consume any end of statement token, if present, to avoid spurious // AddBlankLine calls(). -- 2.34.1