[commit: ghc] wip/kill-obj-splitter: Rip out object splitting (730ac88)

git at git.haskell.org git at git.haskell.org
Mon Jan 21 01:57:42 UTC 2019


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/kill-obj-splitter
Link       : http://ghc.haskell.org/trac/ghc/changeset/730ac880c5dc23e0f32a2f08d89d4e5d2a583512/ghc

>---------------------------------------------------------------

commit 730ac880c5dc23e0f32a2f08d89d4e5d2a583512
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Mon Nov 26 17:21:12 2018 -0500

    Rip out object splitting
    
    The splitter is an evil Perl script that processes assembler code.
    Its job can be done better by the linker's --gc-sections flag. GHC
    passes this flag to the linker whenever -split-sections is passed on
    the command line.
    
    This is based on @DemiMarie's D2768.
    
    Fixes Trac #11315
    Fixes Trac #9832
    Fixes Trac #8964
    Fixes Trac #8685
    Fixes Trac #8629


>---------------------------------------------------------------

730ac880c5dc23e0f32a2f08d89d4e5d2a583512
 .gitignore                              |   1 -
 aclocal.m4                              |  20 ---
 compiler/cmm/CLabel.hs                  |   4 +-
 compiler/codeGen/StgCmm.hs              |  35 +---
 compiler/codeGen/StgCmmExpr.hs          |  11 +-
 compiler/codeGen/StgCmmMonad.hs         |  10 --
 compiler/ghc.mk                         |   7 -
 compiler/main/DriverPhases.hs           |   9 --
 compiler/main/DriverPipeline.hs         | 164 ++-----------------
 compiler/main/DynFlags.hs               |  22 +--
 compiler/main/HscMain.hs                |   2 +-
 compiler/main/SysTools.hs               |  16 +-
 compiler/main/SysTools/BaseDir.hs       |   2 +-
 compiler/main/SysTools/Tasks.hs         |   5 -
 compiler/nativeGen/AsmCodeGen.hs        |  32 +---
 compiler/nativeGen/CFG.hs               |   7 +-
 compiler/nativeGen/PIC.hs               |   2 -
 compiler/nativeGen/PPC/Ppr.hs           |  17 +-
 compiler/nativeGen/RegAlloc/Liveness.hs |   4 -
 compiler/nativeGen/SPARC/Ppr.hs         |  11 +-
 compiler/nativeGen/X86/Ppr.hs           |  19 +--
 configure.ac                            |  45 ------
 distrib/cross-port                      |   1 -
 distrib/hc-build                        |   1 -
 docs/storage-mgt/rp.tex                 |   1 -
 docs/users_guide/8.8.1-notes.rst        |   5 +
 docs/users_guide/packages.rst           |   4 +-
 docs/users_guide/phases.rst             |  19 +--
 driver/split/Makefile                   |  15 --
 driver/split/ghc-split.pl               | 275 --------------------------------
 driver/split/ghc.mk                     |  20 ---
 ghc.mk                                  |  10 --
 ghc/ghc.mk                              |   6 -
 hadrian/cfg/system.config.in            |   1 -
 hadrian/src/Rules/Generate.hs           |   3 -
 hadrian/src/Rules/Library.hs            |   9 +-
 mk/config.mk.in                         |  32 +---
 mk/flavours/bench-cross-ncg.mk          |   1 -
 mk/flavours/bench-cross.mk              |   1 -
 mk/flavours/bench-llvm.mk               |   1 -
 mk/flavours/bench.mk                    |   1 -
 mk/flavours/devel1.mk                   |   1 -
 mk/flavours/devel2.mk                   |   1 -
 mk/flavours/perf-cross-ncg.mk           |   1 -
 mk/flavours/perf-cross.mk               |   1 -
 mk/flavours/perf-llvm.mk                |   1 -
 mk/flavours/perf.mk                     |   1 -
 mk/flavours/prof-llvm.mk                |   1 -
 mk/flavours/prof.mk                     |   1 -
 mk/flavours/quick-cross-ncg.mk          |   1 -
 mk/flavours/quick-cross.mk              |   1 -
 mk/flavours/quick-llvm.mk               |   1 -
 mk/flavours/quick.mk                    |   1 -
 mk/flavours/quickest.mk                 |   1 -
 mk/flavours/validate.mk                 |   1 -
 rules/build-package-way.mk              |   5 -
 rules/build-perl.mk                     |  78 ---------
 rules/distdir-opts.mk                   |   8 -
 rules/distdir-way-opts.mk               |   1 -
 59 files changed, 70 insertions(+), 887 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 730ac880c5dc23e0f32a2f08d89d4e5d2a583512


More information about the ghc-commits mailing list