diff options
author | simonpj@microsoft.com <unknown> | 2008-09-15 15:04:33 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2008-09-15 15:04:33 +0000 |
commit | a47d62f78621bb35f4ba73cd3817f33fda95fa72 (patch) | |
tree | e70c902a107e8d0ff68b1e17b6c9ed33f9275509 | |
parent | 109eb1e9f31cc9fbec194dcc9cfd732d990c2678 (diff) | |
download | haskell-a47d62f78621bb35f4ba73cd3817f33fda95fa72.tar.gz |
Do not use the Static Arg Transformation by default with -O2
Max has some more heuristics to add, and is meanwhile worried
that having SAT on by default will make some highly-tuned array
programs worse. So it's off by default.
Use -fstatic-argument-transformation to switch it on.
-rw-r--r-- | compiler/main/DynFlags.hs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index fbfda3c9d0..cf1d7e9bed 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -801,7 +801,16 @@ optLevelFlags , ([2], Opt_LiberateCase) , ([2], Opt_SpecConstr) - , ([2], Opt_StaticArgumentTransformation) + +-- , ([2], Opt_StaticArgumentTransformation) +-- Max writes: I think it's probably best not to enable SAT with -O2 for the +-- 6.10 release. The version of SAT in HEAD at the moment doesn't incorporate +-- several improvements to the heuristics, and I'm concerned that without +-- those changes SAT will interfere with some attempts to write "high +-- performance Haskell", as we saw in some posts on Haskell-Cafe earlier +-- this year. In particular, the version in HEAD lacks the tail call +-- criterion, so many things that look like reasonable loops will be +-- turned into functions with extra (unneccesary) thunk creation. , ([0,1,2], Opt_DoLambdaEtaExpansion) -- This one is important for a tiresome reason: |