mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-17 02:19:17 +00:00
Speculatively revert commit 127478 (jsjodin) in an attempt to fix the
llvm-gcc-i386-linux-selfhost and llvm-x86_64-linux-checks buildbots. The original log entry: Remove optimization emitting a reference insted of label difference, since it can create more relocations. Removed isBaseAddressKnownZero method, because it is no longer used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127540 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -191,6 +191,13 @@ void AsmPrinter::EmitSectionOffset(const MCSymbol *Label,
|
||||
assert((!Label->isInSection() || &Label->getSection() == &Section) &&
|
||||
"Section offset using wrong section base for label");
|
||||
|
||||
// If the section in question will end up with an address of 0 anyway, we can
|
||||
// just emit an absolute reference to save a relocation.
|
||||
if (Section.isBaseAddressKnownZero()) {
|
||||
OutStreamer.EmitSymbolValue(Label, 4, 0/*AddrSpace*/);
|
||||
return;
|
||||
}
|
||||
|
||||
// Otherwise, emit it as a label difference from the start of the section.
|
||||
EmitLabelDifference(Label, SectionLabel, 4);
|
||||
}
|
||||
|
Reference in New Issue
Block a user