PECOFF: Create layout-afters instead of layout-befores.
authorRui Ueyama <ruiu@google.com>
Mon, 9 Mar 2015 00:06:07 +0000 (00:06 +0000)
committerRui Ueyama <ruiu@google.com>
Mon, 9 Mar 2015 00:06:07 +0000 (00:06 +0000)
commitd18a97cb7a0fe8cac4fc33020e3033cc23d45da8
tree91dfe33cc1ccd699c76035ef030db20aa1f98eee
parentf46b190465c9e5472eef1ce924330ae73a707ef9
PECOFF: Create layout-afters instead of layout-befores.

All readers except PE/COFF reader create layout-after edges to preserve
the original symbol order. PE/COFF uses layout-before edges as primary
edges for no reason.

This patch makes PE/COFF reader to create layout-after edges.
Resolver is updated to recognize reverse edges of layout-after edges
in the garbage collection pass.

Now we can retire layout-before edges. I don't do that in this patch
because if I do, I would have updated many tests to replace all
occurrrences of "layout-before" with "layout-after". So that's a TODO.

llvm-svn: 231615
lld/lib/Core/Resolver.cpp
lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
lld/test/core/sectiongroup-deadstrip.objtxt