llvm-project/lld/test
Rui Ueyama 77a4da1991 Define DefinedAtom::sectionSize.
Merge::mergeByLargestSection is half-baked since it's defined
in terms of section size, there's no way to get the section size
of an atom.

Currently we work around the issue by traversing the layout edges
to both directions and calculate the sum of all atoms reachable.
I wrote that code but I knew it's hacky. It's even not guaranteed
to work. If you add layout edges before the core linking, it
miscalculates a size.

Also it's of course slow. It's basically a linked list traversal.

In this patch I added DefinedAtom::sectionSize so that we can use
that for mergeByLargestSection. I'm not very happy to add a new
field to DefinedAtom base class, but I think it's legitimate since
mergeByLargestSection is defined for section size, and the section
size is currently just missing.

http://reviews.llvm.org/D7966

llvm-svn: 231290
2015-03-04 21:40:46 +00:00
..
Driver [Driver] Use paths explicitly provided by the -L option before default paths 2015-02-26 20:09:50 +00:00
LinkerScript [Core,MachO,Test] Remove trailing whitespace. 2015-02-22 23:54:38 +00:00
Unit [lit] Python 3. 2014-03-26 00:53:48 +00:00
core [Core] Do not reclaim absolute atoms in resolver. 2015-02-26 05:39:57 +00:00
darwin [mach-o] refactor KindHandler into ArchHandler and simplify passes. 2014-07-16 19:49:02 +00:00
elf [ELF] Implement R_X86_64_PC16 relocation. 2015-03-03 07:38:20 +00:00
mach-o Fix REQUIRES lines added in r226951 and add the x86 feature if the X86 target was compiled in 2015-01-24 03:55:22 +00:00
pecoff Define DefinedAtom::sectionSize. 2015-03-04 21:40:46 +00:00
CMakeLists.txt Remove CMake standalone build configuration 2015-01-12 21:41:10 +00:00
Makefile Initial set of Makefiles 2014-06-04 09:54:07 +00:00
lit.cfg Remove YAML/Native round-trip passes. 2015-02-20 22:10:28 +00:00
lit.site.cfg.in [lit] Python 3. 2014-03-26 00:53:48 +00:00