llvm-project/lld/test
Rui Ueyama 2b6fb80384 Skip scanRelocs for non-alloc sections.
Relocations against sections with no SHF_ALLOC bit are R_ABS relocations.
Currently we are creating Relocations vector for them, but that is wasteful.
This patch is to skip vector construction and to directly apply relocations
in place.

This patch seems to be pretty effective for large executables with debug info.
r266158 (Rafael's patch to change the way how we apply relocations) caused a
temporary performance degradation for such executables, but this patch makes
it even faster than before.

Time to link clang with debug info (output size is 1070 MB):

  before r266158: 15.312 seconds (0%)
  r266158:        17.301 seconds (+13.0%)
  Head:           16.484 seconds (+7.7%)
  w/patch:        13.166 seconds (-14.0%)

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

llvm-svn: 267917
2016-04-28 18:42:04 +00:00
..
COFF Reland test change. 2016-04-21 01:33:04 +00:00
Driver/Inputs Remove the old ELF linker. 2016-02-28 00:10:58 +00:00
ELF Skip scanRelocs for non-alloc sections. 2016-04-28 18:42:04 +00:00
Unit Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 07:09:39 +00:00
darwin Add the GC commandline options and throw errors if they are used 2016-01-15 17:39:02 +00:00
mach-o Parsed alignment should be a power of 2. 2016-03-24 00:36:37 +00:00
CMakeLists.txt Add dependency to llvm-dis. 2016-03-14 23:16:13 +00:00
lit.cfg Fix the detection of the shell feature and disable some tests when its not present 2016-03-30 20:15:50 +00:00
lit.site.cfg.in Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 07:09:39 +00:00