[lld] r210066 - Remove group-parent references.

Rui Ueyama ruiu at google.com
Mon Jun 2 20:07:50 PDT 2014


Author: ruiu
Date: Mon Jun  2 22:07:49 2014
New Revision: 210066

URL: http://llvm.org/viewvc/llvm-project?rev=210066&view=rev
Log:
Remove group-parent references.

Previously section groups are doubly linked to their children.
That is, an atom representing a group has group-child references
to its group contents, and content atoms also have group-parent
references to the group atom. That relationship was invariant;
if X has a group-child edge to Y, Y must have a group-parent
edge to X.

However we were not using group-parent references at all. The
resolver only needs group-child edges.

This patch simplifies the section group by removing the unused
reverse edge. No functionality change intended.

Differential Revision: http://reviews.llvm.org/D3945

Modified:
    lld/trunk/docs/design.rst
    lld/trunk/include/lld/Core/Reference.h
    lld/trunk/lib/Core/Resolver.cpp
    lld/trunk/lib/ReaderWriter/Reader.cpp
    lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
    lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt
    lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt
    lld/trunk/test/core/gnulinkonce-resolve.objtxt
    lld/trunk/test/core/gnulinkonce-simple.objtxt
    lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt
    lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt
    lld/trunk/test/core/sectiongroup-remaining-undef.objtxt
    lld/trunk/test/core/sectiongroup-resolve.objtxt
    lld/trunk/test/core/sectiongroup-simple.objtxt

Modified: lld/trunk/docs/design.rst
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/docs/design.rst?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/docs/design.rst (original)
+++ lld/trunk/docs/design.rst Mon Jun  2 22:07:49 2014
@@ -170,8 +170,7 @@ outside the '.group'.
 
 In lld the the '.group' sections with COMDAT are identified by contentType(
 typeGroupComdat). The '.group' members are identified by using
-**kindGroupChild** references. The group child members have a reference to the
-group section by using **kindGroupParent** references.
+**kindGroupChild** references.
 
 The point to be noted here is the 'group child' members would need to be emitted
 in the output file **iff** the group was selected by the resolver.

Modified: lld/trunk/include/lld/Core/Reference.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/Reference.h?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/Reference.h (original)
+++ lld/trunk/include/lld/Core/Reference.h Mon Jun  2 22:07:49 2014
@@ -89,8 +89,8 @@ public:
     // kindLayoutBefore is currently used only by PECOFF port, and will
     // be removed soon. To enforce layout, use kindLayoutAfter instead.
     kindLayoutBefore = 3,
+    // kindGroupChild is treated as a bidirected edge too.
     kindGroupChild = 4,
-    kindGroupParent = 5
   };
 
   // A value to be added to the value of a target

Modified: lld/trunk/lib/Core/Resolver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/Resolver.cpp?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/lib/Core/Resolver.cpp (original)
+++ lld/trunk/lib/Core/Resolver.cpp Mon Jun  2 22:07:49 2014
@@ -321,8 +321,10 @@ void Resolver::markLive(const Atom *atom
 }
 
 static bool isBackref(const Reference *ref) {
-  return ref->kindNamespace() == lld::Reference::KindNamespace::all &&
-    ref->kindValue() == lld::Reference::kindLayoutBefore;
+  if (ref->kindNamespace() != lld::Reference::KindNamespace::all)
+    return false;
+  return (ref->kindValue() == lld::Reference::kindLayoutBefore ||
+          ref->kindValue() == lld::Reference::kindGroupChild);
 }
 
 // remove all atoms not actually used

Modified: lld/trunk/lib/ReaderWriter/Reader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/Reader.cpp?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/Reader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/Reader.cpp Mon Jun  2 22:07:49 2014
@@ -58,7 +58,6 @@ static const Registry::KindStrings kindS
     {Reference::kindLayoutAfter, "layout-after"},
     {Reference::kindLayoutBefore, "layout-before"},
     {Reference::kindGroupChild, "group-child"},
-    {Reference::kindGroupParent, "group-parent"},
     LLD_KIND_STRING_END};
 
 Registry::Registry() {

Modified: lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp (original)
+++ lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp Mon Jun  2 22:07:49 2014
@@ -183,18 +183,14 @@ public:
 
   const lld::Atom *lookup(StringRef name) const {
     NameToAtom::const_iterator pos = _nameMap.find(name);
-    if (pos != _nameMap.end()) {
+    if (pos != _nameMap.end())
       return pos->second;
-    } else if ((pos = _groupChild.find(name)) != _groupChild.end()) {
-      return pos->second;
-    } else {
-      _io.setError(Twine("no such atom name: ") + name);
-      return nullptr;
-    }
+    _io.setError(Twine("no such atom name: ") + name);
+    return nullptr;
   }
 
   /// \brief Lookup a group parent when there is a reference of type
-  /// kindGroupParent. If there was no group-parent produce an appropriate
+  /// kindGroupChild. If there was no group-parent produce an appropriate
   /// error.
   const lld::Atom *lookupGroupParent(StringRef name) const {
     NameToAtom::const_iterator pos = _groupMap.find(name);
@@ -204,30 +200,10 @@ public:
     return nullptr;
   }
 
-  /// \brief Lookup a group child when there is a reference of type
-  /// kindGroupChild. If there was no group-child produce an appropriate
-  /// error.
-  const lld::Atom *lookupGroupChild(StringRef name) const {
-    NameToAtom::const_iterator pos = _groupChild.find(name);
-    if (pos != _groupChild.end())
-      return pos->second;
-    _io.setError(Twine("no such group child: ") + name);
-    return nullptr;
-  }
-
 private:
   typedef llvm::StringMap<const lld::Atom *> NameToAtom;
 
   void add(StringRef name, const lld::Atom *atom, bool isGroupChild = false) {
-    if (isGroupChild) {
-      if (_groupChild.count(name)) {
-        _io.setError(Twine("duplicate group child: ") + name);
-      } else {
-        _groupChild[name] = atom;
-      }
-      return;
-    }
-
     if (const lld::DefinedAtom *da = dyn_cast<DefinedAtom>(atom)) {
       if (da->isGroupParent()) {
         if (_groupMap.count(name)) {
@@ -248,7 +224,6 @@ private:
   IO &_io;
   NameToAtom _nameMap;
   NameToAtom _groupMap;
-  NameToAtom _groupChild;
 };
 
 // Used in NormalizedFile to hold the atoms lists.
@@ -836,15 +811,8 @@ template <> struct MappingTraits<const l
           _deadStrip(atom->deadStrip()), _dynamicExport(atom->dynamicExport()),
           _permissions(atom->permissions()), _size(atom->size()),
           _sectionName(atom->customSectionName()) {
-      for (const lld::Reference *r : *atom) {
-        // If this is not a group child as yet, lets keep looking
-        // at all the references.
-        if (!_isGroupChild &&
-            r->kindNamespace() == lld::Reference::KindNamespace::all &&
-            r->kindValue() == lld::Reference::kindGroupParent)
-          _isGroupChild = true;
+      for (const lld::Reference *r : *atom)
         _references.push_back(r);
-      }
       if (!atom->occupiesDiskSpace())
         return;
       ArrayRef<uint8_t> cont = atom->rawContent();
@@ -892,6 +860,7 @@ template <> struct MappingTraits<const l
     DeadStripKind deadStrip() const override { return _deadStrip; }
     DynamicExport dynamicExport() const override { return _dynamicExport; }
     ContentPermissions permissions() const override { return _permissions; }
+    void setGroupChild(bool val) { _isGroupChild = val; }
     bool isGroupChild() const { return _isGroupChild; }
     ArrayRef<uint8_t> rawContent() const override {
       if (!occupiesDiskSpace())
@@ -987,16 +956,6 @@ template <> struct MappingTraits<const l
                                          DefinedAtom::permissions(
                                                           keys->_contentType));
     io.mapOptional("references",       keys->_references);
-    for (const lld::Reference *r : keys->_references) {
-      // If this is not a group child as yet, lets keep looking
-      // at all the references.
-      if (!keys->_isGroupChild &&
-          r->kindNamespace() == lld::Reference::KindNamespace::all &&
-          r->kindValue() == lld::Reference::kindGroupParent) {
-        keys->_isGroupChild = true;
-        break;
-      }
-    }
   }
 };
 
@@ -1256,17 +1215,14 @@ inline void MappingTraits<const lld::Def
 
 inline void MappingTraits<const lld::Reference *>::NormalizedReference::bind(
     const RefNameResolver &resolver) {
-  if (_mappedKind.ns == lld::Reference::KindNamespace::all) {
-    if (_mappedKind.value == lld::Reference::kindGroupParent) {
-      _target = resolver.lookupGroupParent(_targetName);
-      return;
-    }
-    if (_mappedKind.value == lld::Reference::kindGroupChild) {
-      _target = resolver.lookupGroupChild(_targetName);
-      return;
-    }
-  }
+  typedef MappingTraits<const lld::DefinedAtom *>::NormalizedAtom NormalizedAtom;
+
   _target = resolver.lookup(_targetName);
+
+  if (_mappedKind.ns == lld::Reference::KindNamespace::all &&
+      _mappedKind.value == lld::Reference::kindGroupChild) {
+    ((NormalizedAtom *)_target)->setGroupChild(true);
+  }
 }
 
 inline StringRef

Modified: lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt Mon Jun  2 22:07:49 2014
@@ -22,27 +22,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
 ---
 defined-atoms:
   - name:            g1
@@ -60,27 +48,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
 ...
 
 # CHECK: defined-atoms:
@@ -97,19 +73,7 @@ defined-atoms:
 # CHECK:       - kind:            group-child
 # CHECK:         target:          d1
 # CHECK:   - name:            f1
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]
 # CHECK:   - name:            f2
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]
 # CHECK:   - name:            g1
 # CHECK:     ref-name:        [[CHILD]]
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]
 # CHECK:   - name:            d1
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]

Modified: lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt Mon Jun  2 22:07:49 2014
@@ -12,27 +12,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            gnu-linkonce
@@ -56,33 +44,18 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f3
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            gnu-linkonce
@@ -97,6 +70,7 @@ defined-atoms:
         target:          g1
       - kind:            group-child
         target:          d1
+---
 undefined-atoms:
     - name:              f3
       can-be-null:       never

Modified: lld/trunk/test/core/gnulinkonce-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-resolve.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-resolve.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-resolve.objtxt Mon Jun  2 22:07:49 2014
@@ -10,27 +10,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            gnu-linkonce
@@ -48,27 +36,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            gnu-linkonce
@@ -104,30 +80,14 @@ defined-atoms:
 #CHECK:   - name:            f1
 #CHECK:     ref-name:        [[GCHILDONE]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            f2
 #CHECK:     ref-name:        [[GCHILDTWO]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            g1
 #CHECK:     ref-name:        [[GCHILDTHREE]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            d1
 #CHECK:     ref-name:        [[GCHILDFOUR]]
 #CHECK:     scope:           global
 #CHECK:     type:            data
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK: ...

Modified: lld/trunk/test/core/gnulinkonce-simple.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-simple.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-simple.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-simple.objtxt Mon Jun  2 22:07:49 2014
@@ -10,27 +10,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            gnu-linkonce
@@ -49,7 +37,7 @@ defined-atoms:
     references:
       - kind:            layout-before
         target:          f1
-
+---
 undefined-atoms:
     - name:              f1
       can-be-null:       never
@@ -76,32 +64,16 @@ undefined-atoms:
 #CHECK:   - name:            f1
 #CHECK:     ref-name:        [[GCHILDONE]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            f2
 #CHECK:     ref-name:        [[GCHILDTWO]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            d1
 #CHECK:     ref-name:        [[GCHILDTHREE]]
 #CHECK:     scope:           global
 #CHECK:     type:            data
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            g1
 #CHECK:     ref-name:        [[GCHILDFOUR]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            anotherfunction
 #CHECK:     scope:           global
 #CHECK:     type:            data

Modified: lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt Mon Jun  2 22:07:49 2014
@@ -10,27 +10,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            group-comdat
@@ -48,27 +36,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            gnu-linkonce

Modified: lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt Mon Jun  2 22:07:49 2014
@@ -22,27 +22,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
 ---
 defined-atoms:
   - name:            g1
@@ -60,27 +48,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
 ...
 
 # CHECK: defined-atoms:
@@ -97,19 +73,7 @@ defined-atoms:
 # CHECK:       - kind:            group-child
 # CHECK:         target:          d1
 # CHECK:   - name:            f1
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]
 # CHECK:   - name:            f2
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]
 # CHECK:   - name:            g1
 # CHECK:     ref-name:        [[CHILD]]
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]
 # CHECK:   - name:            d1
-# CHECK:     references:
-# CHECK:       - kind:            group-parent
-# CHECK:         target:          [[PARENT]]

Modified: lld/trunk/test/core/sectiongroup-remaining-undef.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-remaining-undef.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-remaining-undef.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-remaining-undef.objtxt Mon Jun  2 22:07:49 2014
@@ -12,27 +12,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            group-comdat
@@ -56,33 +44,18 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f3
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            group-comdat
@@ -97,6 +70,7 @@ defined-atoms:
         target:          g1
       - kind:            group-child
         target:          d1
+---
 undefined-atoms:
     - name:              f3
       can-be-null:       never

Modified: lld/trunk/test/core/sectiongroup-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-resolve.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-resolve.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-resolve.objtxt Mon Jun  2 22:07:49 2014
@@ -10,27 +10,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            group-comdat
@@ -48,27 +36,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            group-comdat
@@ -104,30 +80,14 @@ defined-atoms:
 #CHECK:   - name:            f1
 #CHECK:     ref-name:        [[GCHILDONE]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            f2
 #CHECK:     ref-name:        [[GCHILDTWO]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            g1
 #CHECK:     ref-name:        [[GCHILDTHREE]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            d1
 #CHECK:     ref-name:        [[GCHILDFOUR]]
 #CHECK:     scope:           global
 #CHECK:     type:            data
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK: ...

Modified: lld/trunk/test/core/sectiongroup-simple.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-simple.objtxt?rev=210066&r1=210065&r2=210066&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-simple.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-simple.objtxt Mon Jun  2 22:07:49 2014
@@ -10,27 +10,15 @@ defined-atoms:
   - name:            f1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            f2
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            code
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            d1
     scope:           global
     type:            data
-    references:
-      - kind:            group-parent
-        target:          g1
   - name:            g1
     scope:           global
     type:            group-comdat
@@ -49,7 +37,7 @@ defined-atoms:
     references:
       - kind:            layout-before
         target:          f1
-
+---
 undefined-atoms:
     - name:              f1
       can-be-null:       never
@@ -76,32 +64,16 @@ undefined-atoms:
 #CHECK:   - name:            f1
 #CHECK:     ref-name:        [[GCHILDONE]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            f2
 #CHECK:     ref-name:        [[GCHILDTWO]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            d1
 #CHECK:     ref-name:        [[GCHILDTHREE]]
 #CHECK:     scope:           global
 #CHECK:     type:            data
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            g1
 #CHECK:     ref-name:        [[GCHILDFOUR]]
 #CHECK:     scope:           global
-#CHECK:     references:
-#CHECK:       - kind:            group-parent
-#CHECK:         offset:          0
-#CHECK:         target:          [[PARENT]]
 #CHECK:   - name:            anotherfunction
 #CHECK:     scope:           global
 #CHECK:     type:            data





More information about the llvm-commits mailing list