Add flags for switching off speculative evaluation.
We found that speculative evaluation can increase the amount of allocations in some circumstances. This patch adds new flags for selectively disabling speculative evaluation, allowing us to test the effect of the optimization. The new flags are: -fspec-eval globally enable speculative evaluation -fspec-eval-dictfun enable speculative evaluation for dictionary functions (no effect if speculative evaluation is globally disabled) The new flags are on by default for all optimisation levels. See #25284
Showing
- compiler/GHC/CoreToStg/Prep.hs 24 additions, 1 deletioncompiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Driver/Config/CoreToStg/Prep.hs 2 additions, 0 deletionscompiler/GHC/Driver/Config/CoreToStg/Prep.hs
- compiler/GHC/Driver/DynFlags.hs 2 additions, 0 deletionscompiler/GHC/Driver/DynFlags.hs
- compiler/GHC/Driver/Flags.hs 5 additions, 0 deletionscompiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs 2 additions, 0 deletionscompiler/GHC/Driver/Session.hs
- docs/users_guide/using-optimisation.rst 49 additions, 0 deletionsdocs/users_guide/using-optimisation.rst
- testsuite/tests/core-to-stg/T25284/A.hs 8 additions, 0 deletionstestsuite/tests/core-to-stg/T25284/A.hs
- testsuite/tests/core-to-stg/T25284/B.hs 8 additions, 0 deletionstestsuite/tests/core-to-stg/T25284/B.hs
- testsuite/tests/core-to-stg/T25284/Cls.hs 40 additions, 0 deletionstestsuite/tests/core-to-stg/T25284/Cls.hs
- testsuite/tests/core-to-stg/T25284/Main.hs 57 additions, 0 deletionstestsuite/tests/core-to-stg/T25284/Main.hs
- testsuite/tests/core-to-stg/T25284/T25284.stdout 17 additions, 0 deletionstestsuite/tests/core-to-stg/T25284/T25284.stdout
- testsuite/tests/core-to-stg/T25284/all.T 6 additions, 0 deletionstestsuite/tests/core-to-stg/T25284/all.T
Loading
Please register or sign in to comment