[Git][ghc/ghc][wip/andreask/remove_dict_field_flag] Deprecate -fdmd-tx-dict-sel.
Andreas Klebinger
gitlab at gitlab.haskell.org
Fri Jul 17 15:02:13 UTC 2020
Andreas Klebinger pushed to branch wip/andreask/remove_dict_field_flag at Glasgow Haskell Compiler / GHC
Commits:
fd6b87e5 by Andreas Klebinger at 2020-07-17T17:01:29+02:00
Deprecate -fdmd-tx-dict-sel.
It's behaviour is now unconditionally enabled.
- - - - -
4 changed files:
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- docs/users_guide/using-optimisation.rst
Changes:
=====================================
compiler/GHC/Core/Opt/DmdAnal.hs
=====================================
@@ -486,8 +486,7 @@ dmdTransform env var dmd
| isDataConWorkId var
= dmdTransformDataConSig (idArity var) dmd
-- Dictionary component selectors
- | gopt Opt_DmdTxDictSel (ae_dflags env),
- Just _ <- isClassOpId_maybe var
+ | Just _ <- isClassOpId_maybe var
= dmdTransformDictSelSig (idStrictness var) dmd
-- Imported functions
| isGlobalId var
=====================================
compiler/GHC/Driver/Flags.hs
=====================================
@@ -188,7 +188,8 @@ data GeneralFlag
| Opt_OmitYields
| Opt_FunToThunk -- allow GHC.Core.Opt.WorkWrap.Utils.mkWorkerArgs to remove all value lambdas
| Opt_DictsStrict -- be strict in argument dictionaries
- | Opt_DmdTxDictSel -- use a special demand transformer for dictionary selectors
+ | Opt_DmdTxDictSel -- ^ deprecated, no effect and behaviour is now default.
+ -- Allowed switching of a special demand transformer for dictionary selectors
| Opt_Loopification -- See Note [Self-recursive tail calls]
| Opt_CfgBlocklayout -- ^ Use the cfg based block layout algorithm.
| Opt_WeightlessBlocklayout -- ^ Layout based on last instruction per block.
=====================================
compiler/GHC/Driver/Session.hs
=====================================
@@ -3508,7 +3508,8 @@ fFlagsDeps = [
flagSpec "diagnostics-show-caret" Opt_DiagnosticsShowCaret,
flagSpec "dicts-cheap" Opt_DictsCheap,
flagSpec "dicts-strict" Opt_DictsStrict,
- flagSpec "dmd-tx-dict-sel" Opt_DmdTxDictSel,
+ depFlagSpec "dmd-tx-dict-sel"
+ Opt_DmdTxDictSel "effect is now unconditionally enabled",
flagSpec "do-eta-reduction" Opt_DoEtaReduction,
flagSpec "do-lambda-eta-expansion" Opt_DoLambdaEtaExpansion,
flagSpec "eager-blackholing" Opt_EagerBlackHoling,
@@ -4039,7 +4040,6 @@ optLevelFlags :: [([Int], GeneralFlag)]
optLevelFlags -- see Note [Documenting optimisation flags]
= [ ([0,1,2], Opt_DoLambdaEtaExpansion)
, ([0,1,2], Opt_DoEtaReduction) -- See Note [Eta-reduction in -O0]
- , ([0,1,2], Opt_DmdTxDictSel)
, ([0,1,2], Opt_LlvmTBAA)
, ([0], Opt_IgnoreInterfacePragmas)
=====================================
docs/users_guide/using-optimisation.rst
=====================================
@@ -353,8 +353,7 @@ by saying ``-fno-wombat``.
Make dictionaries strict.
.. ghc-flag:: -fdmd-tx-dict-sel
- :shortdesc: Use a special demand transformer for dictionary selectors.
- Always enabled by default.
+ :shortdesc: *(deprecated)* Use a special demand transformer for dictionary selectors.
:type: dynamic
:reverse: -fno-dmd-tx-dict-sel
:category:
@@ -362,6 +361,7 @@ by saying ``-fno-wombat``.
:default: on
Use a special demand transformer for dictionary selectors.
+ Behaviour is unconditionally enabled starting with 8.14
.. ghc-flag:: -fdo-eta-reduction
:shortdesc: Enable eta-reduction. Implied by :ghc-flag:`-O`.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/fd6b87e547f65c034c2a0d6bc36947fc2f64865b
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/fd6b87e547f65c034c2a0d6bc36947fc2f64865b
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/20200717/d4b983d9/attachment-0001.html>
More information about the ghc-commits
mailing list