[PATCH] D25997: Call _exit

Rafael Ávila de Espíndola via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 26 09:52:34 PDT 2016


rafael created this revision.
rafael added a reviewer: ruiu.
rafael added a subscriber: llvm-commits.
Herald added a reviewer: tstellarAMD.
Herald added a subscriber: nhaehnle.

As the state of lld gets more complicated, shutting down gets more expensive.

In a normal lld run we can just call _exit immediately after renaming the temporary output file. We still want the ability to run a full shutdown since that is useful for detecting memory leaks.

The attached patch adds a --full-shutdown flag and changes lit to use it.

The speedups I got were

firefox

  master 7.230308488
  patch  7.208082567 1.00308347203x faster

firefox-gc

  master 7.427749933
  patch  7.418814415 1.00120444016x faster

chromium

  master 5.205103172
  patch  5.125736748 1.01548390561x faster

chromium fast

  master 2.049300081
  patch  1.969078119 1.04074087322x faster

the gold plugin

  master 0.355730113
  patch  0.349688155 1.01727813171x faster

clang

  master 0.600935753
  patch  0.59087035 1.01703487576x faster

llvm-as

  master 0.034656451
  patch  0.034052431 1.01773794065x faster

the gold plugin fsds

  master 0.386335917
  patch  0.378535563 1.02060666094x faster

clang fsds

  master 0.686066136
  patch  0.672882627 1.01959258342x faster

llvm-as fsds

  master 0.032056437
  patch  0.031330437 1.02317235473x faster

scylla

  master 3.24018577
  patch  3.232975627 1.00223018786x faster

This also makes sure we don't have to worry to much about the shutdown cost of future changes.


https://reviews.llvm.org/D25997

Files:
  ELF/Config.h
  ELF/Driver.cpp
  ELF/Driver.h
  ELF/Options.td
  ELF/Writer.cpp
  include/lld/Driver/Driver.h
  test/ELF/amdgpu-globals.s
  test/lit.cfg
  tools/lld/lld.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25997.75910.patch
Type: text/x-patch
Size: 5585 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161026/beb271fb/attachment.bin>


More information about the llvm-commits mailing list