This is an archive of the discontinued LLVM Phabricator instance.

Remove group-parent references.
ClosedPublic

Authored by ruiu on May 28 2014, 4:37 PM.

Details

Summary

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.

Diff Detail

Repository
rL LLVM

Event Timeline

ruiu updated this revision to Diff 9896.May 28 2014, 4:37 PM
ruiu retitled this revision from to Remove group-parent references..
ruiu updated this object.
ruiu edited the test plan for this revision. (Show Details)
ruiu added reviewers: Bigcheese, shankarke, atanasyan.
ruiu added a subscriber: Unknown Object (MLST).
atanasyan accepted this revision.May 29 2014, 4:27 AM
atanasyan edited edge metadata.

LGTM

This revision is now accepted and ready to land.May 29 2014, 4:27 AM
shankarke requested changes to this revision.May 29 2014, 6:12 AM
shankarke edited edge metadata.

If there is a reference to a child, the group should not be garbage collected. This change will make the group get collected.

This revision now requires changes to proceed.May 29 2014, 6:12 AM
ruiu added a comment.May 29 2014, 10:05 AM

Good point, and that's why we still have the layout-before kind as the backlink for layout-after. I'll address that first.

ruiu updated this revision to Diff 10036.Jun 2 2014, 7:18 PM
ruiu edited edge metadata.
  • Group-child is now considred as a bidirectional edge by the dead-stripping pass.
Bigcheese accepted this revision.Jun 2 2014, 8:09 PM
Bigcheese edited edge metadata.

lgtm.

ruiu closed this revision.Jun 2 2014, 8:15 PM
ruiu updated this revision to Diff 10039.

Closed by commit rL210066 (authored by @ruiu).