summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorChristiaan Baaij <christiaan.baaij@gmail.com>2015-10-27 10:21:27 -0500
committerAustin Seipp <austin@well-typed.com>2015-10-27 12:26:29 -0500
commit31704adc82c3a1e48ac05c51f02933fd996b642a (patch)
tree69edfb9129a1f65a4ae2c01a53fd280aba0503fe /utils
parent166c5972fc7269b6a7802cd68ab04d86affbb879 (diff)
downloadhaskell-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.hs13
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"
+ }
]