### subvert recent optimisations in GHC

```Some of these tests were using 'take' in their attempts to duplicate
some work and hence run longer, but since GHC just started deforesting
'take' this stopped working.  Now we use {-# NOILINE #-} as a
hopefully more robust way to subvert optimisations.```
parent 7ddd154b
 ... ... @@ -234,7 +234,9 @@ main = do print (test (read n)) test :: Int -> Bool test n = all test0 (take n (repeat (Var X))) test n = all test0 xs where xs = take n (repeat (Var X)) {-# NOINLINE xs #-} test0 xxxx = tautp (apply_subst subst0 theorem) where ... ...
 ... ... @@ -43,7 +43,9 @@ main = do (n:_) <- getArgs putStr (res (read n)) res n = concat (map clauses (take n (repeat "(a = a = a) = (a = a = a) = (a = a = a)"))) res n = concat (map clauses xs) where xs = take n (repeat "(a = a = a) = (a = a = a) = (a = a = a)") {-# NOINLINE xs #-} data StackFrame = Ast Formula | Lex Char ... ...
 ... ... @@ -627,7 +627,9 @@ BENCHMARK > result (s1, s2) = (simplify (super_reduce group_completion) (parse s1) > == parse s2) > test n = all result (take n (repeat ("I(a * b)", "I(b) * I(a)"))) > test n = all result xs > where xs = take n (repeat ("I(a * b)", "I(b) * I(a)")) > {-# NOINLINE xs #-} > main = do > (n:_) <- getArgs ... ...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!