[lld] r231583 - Remove sectionPosition attribute.
Rui Ueyama
ruiu at google.com
Sat Mar 7 17:01:40 PST 2015
Author: ruiu
Date: Sat Mar 7 19:01:40 2015
New Revision: 231583
URL: http://llvm.org/viewvc/llvm-project?rev=231583&view=rev
Log:
Remove sectionPosition attribute.
This code is simply dead. No one is using it.
http://reviews.llvm.org/D8125
Modified:
lld/trunk/include/lld/Core/DefinedAtom.h
lld/trunk/include/lld/Core/Simple.h
lld/trunk/lib/Core/Resolver.cpp
lld/trunk/lib/ReaderWriter/CoreLinkingContext.cpp
lld/trunk/lib/ReaderWriter/ELF/Atoms.h
lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp
lld/trunk/lib/ReaderWriter/Native/NativeFileFormat.h
lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp
lld/trunk/lib/ReaderWriter/Native/WriterNative.cpp
lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
Modified: lld/trunk/include/lld/Core/DefinedAtom.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/DefinedAtom.h?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/DefinedAtom.h (original)
+++ lld/trunk/include/lld/Core/DefinedAtom.h Sat Mar 7 19:01:40 2015
@@ -173,13 +173,6 @@ public:
sectionCustomRequired // linker must place in specific section
};
- enum SectionPosition {
- sectionPositionStart, // atom must be at start of section (and zero size)
- sectionPositionEarly, // atom should be near start of section
- sectionPositionAny, // atom can be anywhere in section
- sectionPositionEnd // atom must be at end of section (and zero size)
- };
-
enum DeadStripKind {
deadStripNormal, // linker may dead strip this atom
deadStripNever, // linker must never dead strip this atom
@@ -273,9 +266,6 @@ public:
virtual StringRef customSectionName() const = 0;
/// \brief constraints on whether the linker may dead strip away this atom.
- virtual SectionPosition sectionPosition() const = 0;
-
- /// \brief constraints on whether the linker may dead strip away this atom.
virtual DeadStripKind deadStrip() const = 0;
/// \brief Under which conditions should this atom be dynamically exported.
Modified: lld/trunk/include/lld/Core/Simple.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/Simple.h?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/Simple.h (original)
+++ lld/trunk/include/lld/Core/Simple.h Sat Mar 7 19:01:40 2015
@@ -199,10 +199,6 @@ public:
return DefinedAtom::sectionBasedOnContent;
}
- SectionPosition sectionPosition() const override {
- return DefinedAtom::sectionPositionAny;
- }
-
StringRef customSectionName() const override { return StringRef(); }
DeadStripKind deadStrip() const override {
return DefinedAtom::deadStripNormal;
Modified: lld/trunk/lib/Core/Resolver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/Resolver.cpp?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/Core/Resolver.cpp (original)
+++ lld/trunk/lib/Core/Resolver.cpp Sat Mar 7 19:01:40 2015
@@ -181,11 +181,6 @@ void Resolver::doDefinedAtom(const Defin
<< atom.name()
<< "\n");
- // Verify on zero-size atoms are pinned to start or end of section.
- assert((atom.sectionPosition() != DefinedAtom::sectionPositionStart &&
- atom.sectionPosition() != DefinedAtom::sectionPositionEnd) ||
- atom.size() == 0);
-
// add to list of known atoms
_atoms.push_back(&atom);
Modified: lld/trunk/lib/ReaderWriter/CoreLinkingContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/CoreLinkingContext.cpp?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/CoreLinkingContext.cpp (original)
+++ lld/trunk/lib/ReaderWriter/CoreLinkingContext.cpp Sat Mar 7 19:01:40 2015
@@ -51,8 +51,6 @@ public:
StringRef customSectionName() const override { return StringRef(); }
- SectionPosition sectionPosition() const override { return sectionPositionAny; }
-
DeadStripKind deadStrip() const override {
return DefinedAtom::deadStripNormal;
}
@@ -114,8 +112,6 @@ public:
StringRef customSectionName() const override { return StringRef(); }
- SectionPosition sectionPosition() const override { return sectionPositionAny; }
-
DeadStripKind deadStrip() const override {
return DefinedAtom::deadStripNormal;
}
Modified: lld/trunk/lib/ReaderWriter/ELF/Atoms.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Atoms.h?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Atoms.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Atoms.h Sat Mar 7 19:01:40 2015
@@ -335,10 +335,6 @@ public:
return _sectionName;
}
- SectionPosition sectionPosition() const override {
- return sectionPositionAny;
- }
-
// It isn't clear that __attribute__((used)) is transmitted to the ELF object
// file.
DeadStripKind deadStrip() const override { return deadStripNormal; }
@@ -496,10 +492,6 @@ public:
StringRef customSectionName() const override { return _sectionName; }
- SectionPosition sectionPosition() const override {
- return sectionPositionAny;
- }
-
DeadStripKind deadStrip() const override { return deadStripNormal; }
ContentPermissions permissions() const override { return permR__; }
@@ -577,10 +569,6 @@ public:
StringRef customSectionName() const override { return ".bss"; }
- SectionPosition sectionPosition() const override {
- return sectionPositionAny;
- }
-
DeadStripKind deadStrip() const override { return deadStripNormal; }
ContentPermissions permissions() const override { return permRW_; }
Modified: lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp Sat Mar 7 19:01:40 2015
@@ -166,13 +166,12 @@ void LayoutPass::checkFollowonChain(Muta
#endif // #ifndef NDEBUG
/// The function compares atoms by sorting atoms in the following order
-/// a) Sorts atoms by Section position preference
-/// b) Sorts atoms by their ordinal overrides (layout-after/ingroup)
-/// c) Sorts atoms by their permissions
-/// d) Sorts atoms by their content
-/// e) Sorts atoms by custom sorter
-/// f) Sorts atoms on how they appear using File Ordinality
-/// g) Sorts atoms on how they appear within the File
+/// a) Sorts atoms by their ordinal overrides (layout-after/ingroup)
+/// b) Sorts atoms by their permissions
+/// c) Sorts atoms by their content
+/// d) Sorts atoms by custom sorter
+/// e) Sorts atoms on how they appear using File Ordinality
+/// f) Sorts atoms on how they appear within the File
static bool compareAtomsSub(const LayoutPass::SortKey &lc,
const LayoutPass::SortKey &rc,
LayoutPass::SortOverride customSorter,
@@ -184,19 +183,6 @@ static bool compareAtomsSub(const Layout
return false;
}
- // Sort by section position preference.
- DefinedAtom::SectionPosition leftPos = left->sectionPosition();
- DefinedAtom::SectionPosition rightPos = right->sectionPosition();
-
- bool leftSpecialPos = (leftPos != DefinedAtom::sectionPositionAny);
- bool rightSpecialPos = (rightPos != DefinedAtom::sectionPositionAny);
- if (leftSpecialPos || rightSpecialPos) {
- if (leftPos != rightPos) {
- DEBUG(reason = formatReason("sectionPos", (int)leftPos, (int)rightPos));
- return leftPos < rightPos;
- }
- }
-
// Find the root of the chain if it is a part of a follow-on chain.
const DefinedAtom *leftRoot = lc._root;
const DefinedAtom *rightRoot = rc._root;
Modified: lld/trunk/lib/ReaderWriter/Native/NativeFileFormat.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/Native/NativeFileFormat.h?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/Native/NativeFileFormat.h (original)
+++ lld/trunk/lib/ReaderWriter/Native/NativeFileFormat.h Sat Mar 7 19:01:40 2015
@@ -151,7 +151,7 @@ struct NativeAtomAttributesV1 {
uint8_t interposable;
uint8_t merge;
uint8_t contentType;
- uint8_t sectionChoiceAndPosition; // high nibble is choice, low is position
+ uint8_t sectionChoice;
uint8_t deadStrip;
uint8_t dynamicExport;
uint8_t permissions;
Modified: lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp (original)
+++ lld/trunk/lib/ReaderWriter/Native/ReaderNative.cpp Sat Mar 7 19:01:40 2015
@@ -71,17 +71,11 @@ public:
}
DefinedAtom::SectionChoice sectionChoice() const override {
- return (DefinedAtom::SectionChoice)(
- attributes().sectionChoiceAndPosition >> 4);
+ return (DefinedAtom::SectionChoice)(attributes().sectionChoice);
}
StringRef customSectionName() const override;
- SectionPosition sectionPosition() const override {
- return (DefinedAtom::SectionPosition)(
- attributes().sectionChoiceAndPosition & 0xF);
- }
-
DefinedAtom::DeadStripKind deadStrip() const override {
return (DefinedAtom::DeadStripKind)(attributes().deadStrip);
}
Modified: lld/trunk/lib/ReaderWriter/Native/WriterNative.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/Native/WriterNative.cpp?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/Native/WriterNative.cpp (original)
+++ lld/trunk/lib/ReaderWriter/Native/WriterNative.cpp Sat Mar 7 19:01:40 2015
@@ -422,8 +422,7 @@ private:
attrs.interposable = atom.interposable();
attrs.merge = atom.merge();
attrs.contentType = atom.contentType();
- attrs.sectionChoiceAndPosition
- = atom.sectionChoice() << 4 | atom.sectionPosition();
+ attrs.sectionChoice = atom.sectionChoice();
attrs.deadStrip = atom.deadStrip();
attrs.dynamicExport = atom.dynamicExport();
attrs.codeModel = atom.codeModel();
Modified: lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h Sat Mar 7 19:01:40 2015
@@ -99,9 +99,6 @@ public:
Merge merge() const override { return mergeNo; }
Alignment alignment() const override { return Alignment(0); }
StringRef customSectionName() const override { return ""; }
- SectionPosition sectionPosition() const override {
- return sectionPositionAny;
- }
DeadStripKind deadStrip() const override { return deadStripNormal; }
Kind getKind() const { return _kind; }
Modified: lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp?rev=231583&r1=231582&r2=231583&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp (original)
+++ lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp Sat Mar 7 19:01:40 2015
@@ -332,15 +332,6 @@ template <> struct ScalarEnumerationTrai
}
};
-template <> struct ScalarEnumerationTraits<lld::DefinedAtom::SectionPosition> {
- static void enumeration(IO &io, lld::DefinedAtom::SectionPosition &value) {
- io.enumCase(value, "start", lld::DefinedAtom::sectionPositionStart);
- io.enumCase(value, "early", lld::DefinedAtom::sectionPositionEarly);
- io.enumCase(value, "any", lld::DefinedAtom::sectionPositionAny);
- io.enumCase(value, "end", lld::DefinedAtom::sectionPositionEnd);
- }
-};
-
template <> struct ScalarEnumerationTraits<lld::DefinedAtom::Interposable> {
static void enumeration(IO &io, lld::DefinedAtom::Interposable &value) {
io.enumCase(value, "no", DefinedAtom::interposeNo);
@@ -810,7 +801,6 @@ template <> struct MappingTraits<const l
_scope(atom->scope()), _interpose(atom->interposable()),
_merge(atom->merge()), _contentType(atom->contentType()),
_alignment(atom->alignment()), _sectionChoice(atom->sectionChoice()),
- _sectionPosition(atom->sectionPosition()),
_deadStrip(atom->deadStrip()), _dynamicExport(atom->dynamicExport()),
_codeModel(atom->codeModel()),
_permissions(atom->permissions()), _size(atom->size()),
@@ -862,7 +852,6 @@ template <> struct MappingTraits<const l
SectionChoice sectionChoice() const override { return _sectionChoice; }
StringRef customSectionName() const override { return _sectionName; }
uint64_t sectionSize() const override { return _sectionSize; }
- SectionPosition sectionPosition() const override { return _sectionPosition; }
DeadStripKind deadStrip() const override { return _deadStrip; }
DynamicExport dynamicExport() const override { return _dynamicExport; }
CodeModel codeModel() const override { return _codeModel; }
@@ -908,7 +897,6 @@ template <> struct MappingTraits<const l
ContentType _contentType;
Alignment _alignment;
SectionChoice _sectionChoice;
- SectionPosition _sectionPosition;
DeadStripKind _deadStrip;
DynamicExport _dynamicExport;
CodeModel _codeModel;
@@ -954,8 +942,6 @@ template <> struct MappingTraits<const l
io.mapOptional("section-choice", keys->_sectionChoice,
DefinedAtom::sectionBasedOnContent);
io.mapOptional("section-name", keys->_sectionName, StringRef());
- io.mapOptional("section-position", keys->_sectionPosition,
- DefinedAtom::sectionPositionAny);
io.mapOptional("section-size", keys->_sectionSize, (uint64_t)0);
io.mapOptional("dead-strip", keys->_deadStrip,
DefinedAtom::deadStripNormal);
More information about the llvm-commits
mailing list