diff options
author | Christiaan Baaij <christiaan.baaij@gmail.com> | 2015-10-27 10:21:27 -0500 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2015-10-27 12:26:29 -0500 |
commit | 31704adc82c3a1e48ac05c51f02933fd996b642a (patch) | |
tree | 69edfb9129a1f65a4ae2c01a53fd280aba0503fe /utils | |
parent | 166c5972fc7269b6a7802cd68ab04d86affbb879 (diff) | |
download | haskell-31704adc82c3a1e48ac05c51f02933fd996b642a.tar.gz |
Make worker-wrapper optional
Add -fworker-wrapper flag which enables the worker-wrapper transformation. It
is implied by -O.
The expected users of this flag, which includes myself, are GHC API users. In
my Haskell-to-Hardware compiler, which uses the GHC API, I have seen no
benifits of the worker-wrapper transformation. It does however induce longer
compilation times.
Further discussion can be seen here:
https://mail.haskell.org/pipermail/ghc-devs/2015-October/010096.html
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D1372
GHC Trac Issues: #11020
Diffstat (limited to 'utils')
-rw-r--r-- | utils/mkUserGuidePart/Options/Optimizations.hs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/utils/mkUserGuidePart/Options/Optimizations.hs b/utils/mkUserGuidePart/Options/Optimizations.hs index 0082a210fb..6e0a2ff5bf 100644 --- a/utils/mkUserGuidePart/Options/Optimizations.hs +++ b/utils/mkUserGuidePart/Options/Optimizations.hs @@ -289,7 +289,8 @@ optimizationsOptions = , flagReverse = "-fno-static-argument-transformation" } , flag { flagName = "-fstrictness" - , flagDescription = "Turn on strictness analysis. Implied by ``-O``." + , flagDescription = "Turn on strictness analysis." ++ + " Implied by ``-O``. Implies ``-fworker-wrapper``" , flagType = DynamicFlag , flagReverse = "-fno-strictness" } @@ -341,4 +342,14 @@ optimizationsOptions = , flagType = DynamicFlag , flagReverse = "-fno-vectorise" } + , flag { flagName = "-fworker-wrapper" + , flagDescription = + "Enable the worker-wrapper transformation after a strictness" ++ + " analysis pass. Implied by ``-O``, and by ``-fstrictness``." ++ + " Disabled by ``-fno-strictness``. Enabling ``-fworker-wrapper``" ++ + " while strictness analysis is disabled (by ``-fno-strictness``)" ++ + " has no effect." + , flagType = DynamicFlag + , flagReverse = "-fno-worker-wrapper" + } ] |