[Git][ghc/ghc][master] Drop latent mentions of -split-objs

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Sat Jul 8 09:07:21 UTC 2023



Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC


Commits:
5d2442b8 by Ben Gamari at 2023-07-08T05:06:51-04:00
Drop latent mentions of -split-objs

Closes #21134.

- - - - -


6 changed files:

- compiler/GHC/Driver/Session.hs
- compiler/GHC/Iface/Tidy.hs
- compiler/GHC/StgToCmm.hs
- docs/users_guide/phases.rst
- docs/users_guide/using.rst
- testsuite/tests/linters/notes.stdout


Changes:

=====================================
compiler/GHC/Driver/Session.hs
=====================================
@@ -1120,9 +1120,6 @@ dynamic_flags_deps = [
       $ hasArg $ \f ->
         alterToolSettings $ \s -> s { toolSettings_opt_windres = f : toolSettings_opt_windres s }
 
-  , make_ord_flag defGhcFlag "split-objs"
-      (NoArg $ addWarn "ignoring -split-objs")
-
     -- N.B. We may someday deprecate this in favor of -fsplit-sections,
     -- which has the benefit of also having a negating -fno-split-sections.
   , make_ord_flag defGhcFlag "split-sections"


=====================================
compiler/GHC/Iface/Tidy.hs
=====================================
@@ -1080,11 +1080,9 @@ tidyTopName mod name_cache maybe_ref occ_env id
                             -- See #19619
                             let new_local_name = occ' `seq` mkInternalName uniq occ' loc
                             return (occ_env', new_local_name)
-        -- Even local, internal names must get a unique occurrence, because
-        -- if we do -split-objs we externalise the name later, in the code generator
-        --
-        -- Similarly, we must make sure it has a system-wide Unique, because
-        -- the byte-code generator builds a system-wide Name->BCO symbol table
+        -- Even local, internal names must get a unique occurrence.
+        -- This is necessary because the byte-code generator the byte-code
+        -- generator builds a system-wide Name->BCO symbol table.
 
   | local  && external = do new_external_name <- allocateGlobalBinder name_cache mod occ' loc
                             return (occ_env', new_external_name)


=====================================
compiler/GHC/StgToCmm.hs
=====================================
@@ -103,10 +103,6 @@ codeGen logger tmpfs cfg (InfoTableProvMap (UniqMap denv) _ _) data_tycons
                 yield cmm
                 return a
 
-               -- Note [codegen-split-init] the cmm_init block must come
-               -- FIRST.  This is because when -split-objs is on we need to
-               -- combine this block with its initialisation routines; see
-               -- Note [pipeline-split-init].
         ; cg (mkModuleInit cost_centre_info (stgToCmmThisModule cfg) hpc_info)
 
         ; mapM_ (cg . cgTopBinding logger tmpfs cfg) stg_binds


=====================================
docs/users_guide/phases.rst
=====================================
@@ -746,19 +746,6 @@ Options affecting code generation
 
     ``-dynamic-too`` is ignored if :ghc-flag:`-dynamic` is also specified.
 
-.. ghc-flag:: -split-objs
-    :shortdesc: Split generated object files into smaller files
-    :type: dynamic
-    :category: codegen
-
-    When using this option, the object file is split into many smaller objects.
-    This feature is used when building libraries, so that a program statically
-    linked against the library will pull in less of the library.
-
-    Since this uses platform specific techniques, it may not be available on
-    all target platforms. See the :ghc-flag:`--print-object-splitting-supported`
-    flag to check whether your GHC supports object splitting.
-
 .. ghc-flag:: -fexpose-internal-symbols
     :shortdesc: Produce symbols for all functions, including internal functions.
     :type: dynamic


=====================================
docs/users_guide/using.rst
=====================================
@@ -576,11 +576,8 @@ The available mode flags are:
     :type: mode
     :category: modes
 
-    Print ``YES`` if GHC was compiled with support for splitting generated
-    object files into smaller objects, ``NO`` otherwise.
-    This feature uses platform specific techniques and may not be available on
-    all platforms.
-    See :ghc-flag:`-split-objs` for details.
+    Prints ``NO`` as object splitting is no longer supported. See
+    :ghc-flag:`-split-sections` for a more portable and reliable alternative.
 
 .. ghc-flag:: --print-project-git-commit-id
     :shortdesc: display Git commit id GHC is built from


=====================================
testsuite/tests/linters/notes.stdout
=====================================
@@ -16,8 +16,6 @@ ref    compiler/GHC/Hs/Pat.hs:143:74:     Note [Lifecycle of a splice]
 ref    compiler/GHC/HsToCore/Pmc/Solver.hs:858:20:     Note [COMPLETE sets on data families]
 ref    compiler/GHC/HsToCore/Quote.hs:1476:7:     Note [How brackets and nested splices are handled]
 ref    compiler/GHC/Stg/Unarise.hs:442:32:     Note [Renaming during unarisation]
-ref    compiler/GHC/StgToCmm.hs:106:18:     Note [codegen-split-init]
-ref    compiler/GHC/StgToCmm.hs:109:18:     Note [pipeline-split-init]
 ref    compiler/GHC/StgToCmm/Expr.hs:585:4:     Note [case on bool]
 ref    compiler/GHC/StgToCmm/Expr.hs:853:3:     Note [alg-alt heap check]
 ref    compiler/GHC/Tc/Gen/HsType.hs:556:56:     Note [Skolem escape prevention]



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/5d2442b806c0bfe7de5afcb98460691a7baef33e

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/5d2442b806c0bfe7de5afcb98460691a7baef33e
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230708/0b5ff72b/attachment-0001.html>


More information about the ghc-commits mailing list