diff --git a/include/llvm/Target/TargetAsmBackend.h b/include/llvm/Target/TargetAsmBackend.h index 7ce6efc6e55..50904b135f8 100644 --- a/include/llvm/Target/TargetAsmBackend.h +++ b/include/llvm/Target/TargetAsmBackend.h @@ -33,7 +33,6 @@ protected: // Can only create subclasses. TargetAsmBackend(); unsigned HasReliableSymbolDifference : 1; - unsigned HasScatteredSymbols : 1; public: virtual ~TargetAsmBackend(); @@ -58,16 +57,6 @@ public: return HasReliableSymbolDifference; } - /// hasScatteredSymbols - Check whether this target supports scattered - /// symbols. If so, the assembler should assume that atoms can be scattered by - /// the linker. In particular, this means that the offsets between symbols - /// which are in distinct atoms is not known at link time, and the assembler - /// must generate fixups and relocations appropriately. - /// - /// Note that the assembler currently does not reason about atoms, instead it - /// assumes all temporary symbols reside in the "current atom". - bool hasScatteredSymbols() const { return HasScatteredSymbols; } - /// doesSectionRequireSymbols - Check whether the given section requires that /// all symbols (even temporaries) have symbol table entries. virtual bool doesSectionRequireSymbols(const MCSection &Section) const { diff --git a/lib/MC/MachObjectWriter.cpp b/lib/MC/MachObjectWriter.cpp index b2258027b1c..619954ca3b0 100644 --- a/lib/MC/MachObjectWriter.cpp +++ b/lib/MC/MachObjectWriter.cpp @@ -1123,15 +1123,10 @@ public: UndefinedSymbolData); } - bool IsFixupFullyResolved(const MCAssembler &Asm, const MCValue Target, bool IsPCRel, const MCFragment *DF) const { - // If we aren't using scattered symbols, the fixup is fully resolved. - if (!Asm.getBackend().hasScatteredSymbols()) - return true; - // Otherwise, determine whether this value is actually resolved; scattering // may cause atoms to move. diff --git a/lib/MC/TargetAsmBackend.cpp b/lib/MC/TargetAsmBackend.cpp index 156bf19b436..e0653d05ef0 100644 --- a/lib/MC/TargetAsmBackend.cpp +++ b/lib/MC/TargetAsmBackend.cpp @@ -11,8 +11,7 @@ using namespace llvm; TargetAsmBackend::TargetAsmBackend() - : HasReliableSymbolDifference(false), - HasScatteredSymbols(false) + : HasReliableSymbolDifference(false) { } diff --git a/lib/Target/ARM/ARMAsmBackend.cpp b/lib/Target/ARM/ARMAsmBackend.cpp index db7e20cfc01..9916de34652 100644 --- a/lib/Target/ARM/ARMAsmBackend.cpp +++ b/lib/Target/ARM/ARMAsmBackend.cpp @@ -336,9 +336,7 @@ class ELFARMAsmBackend : public ARMAsmBackend { public: Triple::OSType OSType; ELFARMAsmBackend(const Target &T, Triple::OSType _OSType) - : ARMAsmBackend(T), OSType(_OSType) { - HasScatteredSymbols = true; - } + : ARMAsmBackend(T), OSType(_OSType) { } virtual const MCObjectFormat &getObjectFormat() const { return Format; @@ -376,9 +374,7 @@ void ELFARMAsmBackend::ApplyFixup(const MCFixup &Fixup, char *Data, class DarwinARMAsmBackend : public ARMAsmBackend { MCMachOObjectFormat Format; public: - DarwinARMAsmBackend(const Target &T) : ARMAsmBackend(T) { - HasScatteredSymbols = true; - } + DarwinARMAsmBackend(const Target &T) : ARMAsmBackend(T) { } virtual const MCObjectFormat &getObjectFormat() const { return Format; diff --git a/lib/Target/MBlaze/MBlazeAsmBackend.cpp b/lib/Target/MBlaze/MBlazeAsmBackend.cpp index 83156f5531f..d3be2b55aec 100644 --- a/lib/Target/MBlaze/MBlazeAsmBackend.cpp +++ b/lib/Target/MBlaze/MBlazeAsmBackend.cpp @@ -105,9 +105,7 @@ class ELFMBlazeAsmBackend : public MBlazeAsmBackend { public: Triple::OSType OSType; ELFMBlazeAsmBackend(const Target &T, Triple::OSType _OSType) - : MBlazeAsmBackend(T), OSType(_OSType) { - HasScatteredSymbols = true; - } + : MBlazeAsmBackend(T), OSType(_OSType) { } virtual const MCObjectFormat &getObjectFormat() const { return Format; diff --git a/lib/Target/PowerPC/PPCAsmBackend.cpp b/lib/Target/PowerPC/PPCAsmBackend.cpp index bf437e3aded..9dfc6fce947 100644 --- a/lib/Target/PowerPC/PPCAsmBackend.cpp +++ b/lib/Target/PowerPC/PPCAsmBackend.cpp @@ -84,9 +84,7 @@ namespace { class DarwinPPCAsmBackend : public PPCAsmBackend { MCMachOObjectFormat Format; public: - DarwinPPCAsmBackend(const Target &T) : PPCAsmBackend(T) { - HasScatteredSymbols = true; - } + DarwinPPCAsmBackend(const Target &T) : PPCAsmBackend(T) { } virtual const MCObjectFormat &getObjectFormat() const { return Format; diff --git a/lib/Target/X86/X86AsmBackend.cpp b/lib/Target/X86/X86AsmBackend.cpp index d137875e2cf..3f58e43ea15 100644 --- a/lib/Target/X86/X86AsmBackend.cpp +++ b/lib/Target/X86/X86AsmBackend.cpp @@ -289,7 +289,6 @@ public: Triple::OSType OSType; ELFX86AsmBackend(const Target &T, Triple::OSType _OSType) : X86AsmBackend(T), OSType(_OSType) { - HasScatteredSymbols = true; HasReliableSymbolDifference = true; } @@ -337,7 +336,6 @@ public: WindowsX86AsmBackend(const Target &T, bool is64Bit) : X86AsmBackend(T) , Is64Bit(is64Bit) { - HasScatteredSymbols = true; } virtual const MCObjectFormat &getObjectFormat() const { @@ -354,9 +352,7 @@ class DarwinX86AsmBackend : public X86AsmBackend { public: DarwinX86AsmBackend(const Target &T) - : X86AsmBackend(T) { - HasScatteredSymbols = true; - } + : X86AsmBackend(T) { } virtual const MCObjectFormat &getObjectFormat() const { return Format;