summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testsuite/tests/perf/compiler/T5030.hs13
1 files changed, 13 insertions, 0 deletions
diff --git a/testsuite/tests/perf/compiler/T5030.hs b/testsuite/tests/perf/compiler/T5030.hs
index 6bb7478b50..4983ee69a3 100644
--- a/testsuite/tests/perf/compiler/T5030.hs
+++ b/testsuite/tests/perf/compiler/T5030.hs
@@ -169,6 +169,19 @@ instance CPU DummyCPU where
-------------------------------------------------------------------------------
-- Long compiling program.
+{- cnst has very simple code, and should be fast to typecheck
+ But if you insist on normalising (Immediate DummyCPU) you get
+
+ Immediate DummyCPU = Const (ImmSize DummyCPU)
+ -> Const SIZE12
+ = Const (DPlus SIX SIX)
+ ...etc...
+
+similarly for (RegVar DummyCPU).
+
+So you get a lot of work and big coercions, for no gain.
+-}
+
cnst :: Integer -> Either (Immediate DummyCPU) (RegVar DummyCPU)
cnst x = Left (Const x)