Skip to content

Commit 6794a76

Browse files
committed
fix
1 parent c6b70b8 commit 6794a76

File tree

5 files changed

+8
-17
lines changed

5 files changed

+8
-17
lines changed

llvm/include/llvm/MC/MCObjectStreamer.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,9 @@ class MCObjectStreamer : public MCStreamer {
209209
void emitPendingAssignments(MCSymbol *Symbol);
210210
};
211211

212+
std::optional<uint64_t> absoluteSymbolDiff(const MCSymbol *Hi,
213+
const MCSymbol *Lo);
214+
212215
} // end namespace llvm
213216

214217
#endif

llvm/include/llvm/MC/MCSymbol.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,8 +383,6 @@ inline raw_ostream &operator<<(raw_ostream &OS, const MCSymbol &Sym) {
383383
return OS;
384384
}
385385

386-
bool isRangeRelaxable(const MCSymbol *Begin, const MCSymbol *End);
387-
388386
} // end namespace llvm
389387

390388
#endif // LLVM_MC_MCSYMBOL_H

llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include "llvm/IR/Module.h"
4141
#include "llvm/MC/MCAsmInfo.h"
4242
#include "llvm/MC/MCContext.h"
43+
#include "llvm/MC/MCObjectStreamer.h"
4344
#include "llvm/MC/MCSection.h"
4445
#include "llvm/MC/MCStreamer.h"
4546
#include "llvm/MC/MCSymbol.h"
@@ -3372,7 +3373,8 @@ emitRangeList(DwarfDebug &DD, AsmPrinter *Asm, MCSymbol *Sym, const Ranges &R,
33723373
Asm->emitLabelDifference(End, Base, Size);
33733374
}
33743375
} else if (UseDwarf5) {
3375-
if (DD.useSplitDwarf() && llvm::isRangeRelaxable(Begin, End)) {
3376+
if (DD.useSplitDwarf() &&
3377+
!llvm::absoluteSymbolDiff(Begin, End).has_value()) {
33763378
Asm->OutStreamer->AddComment(StringifyEnum(StartxEndx));
33773379
Asm->emitInt8(StartxEndx);
33783380
Asm->OutStreamer->AddComment(" start index");

llvm/lib/MC/MCObjectStreamer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ void MCObjectStreamer::addFixup(const MCExpr *Value, MCFixupKind Kind) {
129129
// As a compile-time optimization, avoid allocating and evaluating an MCExpr
130130
// tree for (Hi - Lo) when Hi and Lo are offsets into the same fragment's fixed
131131
// part.
132-
static std::optional<uint64_t> absoluteSymbolDiff(const MCSymbol *Hi,
133-
const MCSymbol *Lo) {
132+
std::optional<uint64_t> llvm::absoluteSymbolDiff(const MCSymbol *Hi,
133+
const MCSymbol *Lo) {
134134
assert(Hi && Lo);
135135
if (Lo == Hi)
136136
return 0;

llvm/lib/MC/MCSymbol.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,3 @@ void MCSymbol::print(raw_ostream &OS, const MCAsmInfo *MAI) const {
8686
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
8787
LLVM_DUMP_METHOD void MCSymbol::dump() const { dbgs() << *this; }
8888
#endif
89-
90-
bool llvm::isRangeRelaxable(const MCSymbol *Begin, const MCSymbol *End) {
91-
assert(Begin && "Range without a begin symbol?");
92-
assert(End && "Range without an end symbol?");
93-
for (const auto *Fragment = Begin->getFragment();
94-
Fragment != End->getFragment(); Fragment = Fragment->getNext()) {
95-
assert(Fragment);
96-
if (Fragment->isLinkerRelaxable())
97-
return true;
98-
}
99-
return false;
100-
}

0 commit comments

Comments
 (0)