summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorRyan Scott <ryan.gl.scott@gmail.com>2016-09-05 15:45:38 -0400
committerRyan Scott <ryan.gl.scott@gmail.com>2016-09-05 15:45:40 -0400
commit34010dbe77ac405da6c671c3feb3573d0d025379 (patch)
treec748001a49caf34150a108d8948c8be092cfc49c /testsuite
parent4ff4929cbaab21a3ca867abbc1bd24ff3287a16f (diff)
downloadhaskell-34010dbe77ac405da6c671c3feb3573d0d025379.tar.gz
Derive the Generic instance in perf/compiler/T5642
Summary: For some inexplicable reason, the `Generic` instance in `perf/compiler/T5642` is written out entirely by hand. This is not only strange, since Trac #5642 is about derived `Generic` instances, but it also annoying to maintain, since it requires manually changing a bunch of code whenever the algorithm behind `deriving Generic` changes. (See D2304 for a recent example of this.) It seems more sensible to just derive the `Generic` instance. It shifts the goalposts of what allocations we're measuring a bit, since we no longer have to parse a large amount of code (and as a knock-on effect, the allocations go down a bit). But I think this program is morally equivalent to what we were benchmarking before, so it's not too unreasonable to change. Test Plan: make test TEST=T5642 Reviewers: austin, thomie, bgamari Reviewed By: bgamari Differential Revision: https://phabricator.haskell.org/D2511 GHC Trac Issues: #5642
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/perf/compiler/T5642.hs875
-rw-r--r--testsuite/tests/perf/compiler/all.T3
2 files changed, 4 insertions, 874 deletions
diff --git a/testsuite/tests/perf/compiler/T5642.hs b/testsuite/tests/perf/compiler/T5642.hs
index cc4a98026b..c607fe5310 100644
--- a/testsuite/tests/perf/compiler/T5642.hs
+++ b/testsuite/tests/perf/compiler/T5642.hs
@@ -1,13 +1,10 @@
-{-# LANGUAGE TypeOperators #-}
-{-# LANGUAGE TypeFamilies #-}
-{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
module GenBigTypes where
- import GHC.Generics
+import GHC.Generics
- data BigSum =
+data BigSum =
C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9
| C10 | C11 | C12 | C13 | C14 | C15 | C16 | C17 | C18 | C19
| C20 | C21 | C22 | C23 | C24 | C25 | C26 | C27 | C28 | C29
@@ -18,872 +15,4 @@ module GenBigTypes where
| C70 | C71 | C72 | C73 | C74 | C75 | C76 | C77 | C78 | C79
| C80 | C81 | C82 | C83 | C84 | C85 | C86 | C87 | C88 | C89
| C90 | C91 | C92 | C93 | C94 | C95 | C96 | C97 | C98 | C99
-{-
- | C100 | C101 | C102 | C103 | C104 | C105 | C106 | C107 | C108 | C109
- | C110 | C111 | C112 | C113 | C114 | C115 | C116 | C117 | C118 | C119
- | C120 | C121 | C122 | C123 | C124 | C125 | C126 | C127 | C128 | C129
- | C130 | C131 | C132 | C133 | C134 | C135 | C136 | C137 | C138 | C139
- | C140 | C141 | C142 | C143 | C144 | C145 | C146 | C147 | C148 | C149
- | C150 | C151 | C152 | C153 | C154 | C155 | C156 | C157 | C158 | C159
- | C160 | C161 | C162 | C163 | C164 | C165 | C166 | C167 | C168 | C169
- | C170 | C171 | C172 | C173 | C174 | C175 | C176 | C177 | C178 | C179
- | C180 | C181 | C182 | C183 | C184 | C185 | C186 | C187 | C188 | C189
- | C190 | C191 | C192 | C193 | C194 | C195 | C196 | C197 | C198 | C199
- | C200 | C201 | C202 | C203 | C204 | C205 | C206 | C207 | C208 | C209
- | C210 | C211 | C212 | C213 | C214 | C215 | C216 | C217 | C218 | C219
- | C220 | C221 | C222 | C223 | C224 | C225 | C226 | C227 | C228 | C229
- | C230 | C231 | C232 | C233 | C234 | C235 | C236 | C237 | C238 | C239
- | C240 | C241 | C242 | C243 | C244 | C245 | C246 | C247 | C248 | C249
- | C250 | C251 | C252 | C253 | C254 | C255 | C256 | C257 | C258 | C259
- | C260 | C261 | C262 | C263 | C264 | C265 | C266 | C267 | C268 | C269
- | C270 | C271 | C272 | C273 | C274 | C275 | C276 | C277 | C278 | C279
- | C280 | C281 | C282 | C283 | C284 | C285 | C286 | C287 | C288 | C289
- | C290 | C291 | C292 | C293 | C294 | C295 | C296 | C297 | C298 | C299
- --deriving Generic
--}
-
- instance Generic BigSum where
- type Rep BigSum = Rep_BigSum
- from x = M1 (case x of
- C0 -> L1 (L1 (L1 (L1 (L1 (L1 (M1 U1))))))
- C1 -> L1 (L1 (L1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C2 -> L1 (L1 (L1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C3 -> L1 (L1 (L1 (L1 (R1 (L1 (M1 U1))))))
- C4 -> L1 (L1 (L1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C5 -> L1 (L1 (L1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C6 -> L1 (L1 (L1 (R1 (L1 (L1 (M1 U1))))))
- C7 -> L1 (L1 (L1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C8 -> L1 (L1 (L1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C9 -> L1 (L1 (L1 (R1 (R1 (L1 (M1 U1))))))
- C10 -> L1 (L1 (L1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C11 -> L1 (L1 (L1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C12 -> L1 (L1 (R1 (L1 (L1 (L1 (M1 U1))))))
- C13 -> L1 (L1 (R1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C14 -> L1 (L1 (R1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C15 -> L1 (L1 (R1 (L1 (R1 (L1 (M1 U1))))))
- C16 -> L1 (L1 (R1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C17 -> L1 (L1 (R1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C18 -> L1 (L1 (R1 (R1 (L1 (L1 (M1 U1))))))
- C19 -> L1 (L1 (R1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C20 -> L1 (L1 (R1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C21 -> L1 (L1 (R1 (R1 (R1 (L1 (L1 (M1 U1)))))))
- C22 -> L1 (L1 (R1 (R1 (R1 (L1 (R1 (M1 U1)))))))
- C23 -> L1 (L1 (R1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C24 -> L1 (L1 (R1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C25 -> L1 (R1 (L1 (L1 (L1 (L1 (M1 U1))))))
- C26 -> L1 (R1 (L1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C27 -> L1 (R1 (L1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C28 -> L1 (R1 (L1 (L1 (R1 (L1 (M1 U1))))))
- C29 -> L1 (R1 (L1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C30 -> L1 (R1 (L1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C31 -> L1 (R1 (L1 (R1 (L1 (L1 (M1 U1))))))
- C32 -> L1 (R1 (L1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C33 -> L1 (R1 (L1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C34 -> L1 (R1 (L1 (R1 (R1 (L1 (M1 U1))))))
- C35 -> L1 (R1 (L1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C36 -> L1 (R1 (L1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C37 -> L1 (R1 (R1 (L1 (L1 (L1 (M1 U1))))))
- C38 -> L1 (R1 (R1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C39 -> L1 (R1 (R1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C40 -> L1 (R1 (R1 (L1 (R1 (L1 (M1 U1))))))
- C41 -> L1 (R1 (R1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C42 -> L1 (R1 (R1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C43 -> L1 (R1 (R1 (R1 (L1 (L1 (M1 U1))))))
- C44 -> L1 (R1 (R1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C45 -> L1 (R1 (R1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C46 -> L1 (R1 (R1 (R1 (R1 (L1 (L1 (M1 U1)))))))
- C47 -> L1 (R1 (R1 (R1 (R1 (L1 (R1 (M1 U1)))))))
- C48 -> L1 (R1 (R1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C49 -> L1 (R1 (R1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C50 -> R1 (L1 (L1 (L1 (L1 (L1 (M1 U1))))))
- C51 -> R1 (L1 (L1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C52 -> R1 (L1 (L1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C53 -> R1 (L1 (L1 (L1 (R1 (L1 (M1 U1))))))
- C54 -> R1 (L1 (L1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C55 -> R1 (L1 (L1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C56 -> R1 (L1 (L1 (R1 (L1 (L1 (M1 U1))))))
- C57 -> R1 (L1 (L1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C58 -> R1 (L1 (L1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C59 -> R1 (L1 (L1 (R1 (R1 (L1 (M1 U1))))))
- C60 -> R1 (L1 (L1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C61 -> R1 (L1 (L1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C62 -> R1 (L1 (R1 (L1 (L1 (L1 (M1 U1))))))
- C63 -> R1 (L1 (R1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C64 -> R1 (L1 (R1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C65 -> R1 (L1 (R1 (L1 (R1 (L1 (M1 U1))))))
- C66 -> R1 (L1 (R1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C67 -> R1 (L1 (R1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C68 -> R1 (L1 (R1 (R1 (L1 (L1 (M1 U1))))))
- C69 -> R1 (L1 (R1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C70 -> R1 (L1 (R1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C71 -> R1 (L1 (R1 (R1 (R1 (L1 (L1 (M1 U1)))))))
- C72 -> R1 (L1 (R1 (R1 (R1 (L1 (R1 (M1 U1)))))))
- C73 -> R1 (L1 (R1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C74 -> R1 (L1 (R1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C75 -> R1 (R1 (L1 (L1 (L1 (L1 (M1 U1))))))
- C76 -> R1 (R1 (L1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C77 -> R1 (R1 (L1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C78 -> R1 (R1 (L1 (L1 (R1 (L1 (M1 U1))))))
- C79 -> R1 (R1 (L1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C80 -> R1 (R1 (L1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C81 -> R1 (R1 (L1 (R1 (L1 (L1 (M1 U1))))))
- C82 -> R1 (R1 (L1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C83 -> R1 (R1 (L1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C84 -> R1 (R1 (L1 (R1 (R1 (L1 (M1 U1))))))
- C85 -> R1 (R1 (L1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C86 -> R1 (R1 (L1 (R1 (R1 (R1 (R1 (M1 U1)))))))
- C87 -> R1 (R1 (R1 (L1 (L1 (L1 (M1 U1))))))
- C88 -> R1 (R1 (R1 (L1 (L1 (R1 (L1 (M1 U1)))))))
- C89 -> R1 (R1 (R1 (L1 (L1 (R1 (R1 (M1 U1)))))))
- C90 -> R1 (R1 (R1 (L1 (R1 (L1 (M1 U1))))))
- C91 -> R1 (R1 (R1 (L1 (R1 (R1 (L1 (M1 U1)))))))
- C92 -> R1 (R1 (R1 (L1 (R1 (R1 (R1 (M1 U1)))))))
- C93 -> R1 (R1 (R1 (R1 (L1 (L1 (M1 U1))))))
- C94 -> R1 (R1 (R1 (R1 (L1 (R1 (L1 (M1 U1)))))))
- C95 -> R1 (R1 (R1 (R1 (L1 (R1 (R1 (M1 U1)))))))
- C96 -> R1 (R1 (R1 (R1 (R1 (L1 (L1 (M1 U1)))))))
- C97 -> R1 (R1 (R1 (R1 (R1 (L1 (R1 (M1 U1)))))))
- C98 -> R1 (R1 (R1 (R1 (R1 (R1 (L1 (M1 U1)))))))
- C99 -> R1 (R1 (R1 (R1 (R1 (R1 (R1 (M1 U1))))))))
- to (M1 x) = case x of
- L1 (L1 (L1 (L1 (L1 (L1 (M1 U1)))))) -> C0
- L1 (L1 (L1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C1
- L1 (L1 (L1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C2
- L1 (L1 (L1 (L1 (R1 (L1 (M1 U1)))))) -> C3
- L1 (L1 (L1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C4
- L1 (L1 (L1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C5
- L1 (L1 (L1 (R1 (L1 (L1 (M1 U1)))))) -> C6
- L1 (L1 (L1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C7
- L1 (L1 (L1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C8
- L1 (L1 (L1 (R1 (R1 (L1 (M1 U1)))))) -> C9
- L1 (L1 (L1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C10
- L1 (L1 (L1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C11
- L1 (L1 (R1 (L1 (L1 (L1 (M1 U1)))))) -> C12
- L1 (L1 (R1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C13
- L1 (L1 (R1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C14
- L1 (L1 (R1 (L1 (R1 (L1 (M1 U1)))))) -> C15
- L1 (L1 (R1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C16
- L1 (L1 (R1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C17
- L1 (L1 (R1 (R1 (L1 (L1 (M1 U1)))))) -> C18
- L1 (L1 (R1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C19
- L1 (L1 (R1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C20
- L1 (L1 (R1 (R1 (R1 (L1 (L1 (M1 U1))))))) -> C21
- L1 (L1 (R1 (R1 (R1 (L1 (R1 (M1 U1))))))) -> C22
- L1 (L1 (R1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C23
- L1 (L1 (R1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C24
- L1 (R1 (L1 (L1 (L1 (L1 (M1 U1)))))) -> C25
- L1 (R1 (L1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C26
- L1 (R1 (L1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C27
- L1 (R1 (L1 (L1 (R1 (L1 (M1 U1)))))) -> C28
- L1 (R1 (L1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C29
- L1 (R1 (L1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C30
- L1 (R1 (L1 (R1 (L1 (L1 (M1 U1)))))) -> C31
- L1 (R1 (L1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C32
- L1 (R1 (L1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C33
- L1 (R1 (L1 (R1 (R1 (L1 (M1 U1)))))) -> C34
- L1 (R1 (L1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C35
- L1 (R1 (L1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C36
- L1 (R1 (R1 (L1 (L1 (L1 (M1 U1)))))) -> C37
- L1 (R1 (R1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C38
- L1 (R1 (R1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C39
- L1 (R1 (R1 (L1 (R1 (L1 (M1 U1)))))) -> C40
- L1 (R1 (R1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C41
- L1 (R1 (R1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C42
- L1 (R1 (R1 (R1 (L1 (L1 (M1 U1)))))) -> C43
- L1 (R1 (R1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C44
- L1 (R1 (R1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C45
- L1 (R1 (R1 (R1 (R1 (L1 (L1 (M1 U1))))))) -> C46
- L1 (R1 (R1 (R1 (R1 (L1 (R1 (M1 U1))))))) -> C47
- L1 (R1 (R1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C48
- L1 (R1 (R1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C49
- R1 (L1 (L1 (L1 (L1 (L1 (M1 U1)))))) -> C50
- R1 (L1 (L1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C51
- R1 (L1 (L1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C52
- R1 (L1 (L1 (L1 (R1 (L1 (M1 U1)))))) -> C53
- R1 (L1 (L1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C54
- R1 (L1 (L1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C55
- R1 (L1 (L1 (R1 (L1 (L1 (M1 U1)))))) -> C56
- R1 (L1 (L1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C57
- R1 (L1 (L1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C58
- R1 (L1 (L1 (R1 (R1 (L1 (M1 U1)))))) -> C59
- R1 (L1 (L1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C60
- R1 (L1 (L1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C61
- R1 (L1 (R1 (L1 (L1 (L1 (M1 U1)))))) -> C62
- R1 (L1 (R1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C63
- R1 (L1 (R1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C64
- R1 (L1 (R1 (L1 (R1 (L1 (M1 U1)))))) -> C65
- R1 (L1 (R1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C66
- R1 (L1 (R1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C67
- R1 (L1 (R1 (R1 (L1 (L1 (M1 U1)))))) -> C68
- R1 (L1 (R1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C69
- R1 (L1 (R1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C70
- R1 (L1 (R1 (R1 (R1 (L1 (L1 (M1 U1))))))) -> C71
- R1 (L1 (R1 (R1 (R1 (L1 (R1 (M1 U1))))))) -> C72
- R1 (L1 (R1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C73
- R1 (L1 (R1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C74
- R1 (R1 (L1 (L1 (L1 (L1 (M1 U1)))))) -> C75
- R1 (R1 (L1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C76
- R1 (R1 (L1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C77
- R1 (R1 (L1 (L1 (R1 (L1 (M1 U1)))))) -> C78
- R1 (R1 (L1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C79
- R1 (R1 (L1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C80
- R1 (R1 (L1 (R1 (L1 (L1 (M1 U1)))))) -> C81
- R1 (R1 (L1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C82
- R1 (R1 (L1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C83
- R1 (R1 (L1 (R1 (R1 (L1 (M1 U1)))))) -> C84
- R1 (R1 (L1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C85
- R1 (R1 (L1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C86
- R1 (R1 (R1 (L1 (L1 (L1 (M1 U1)))))) -> C87
- R1 (R1 (R1 (L1 (L1 (R1 (L1 (M1 U1))))))) -> C88
- R1 (R1 (R1 (L1 (L1 (R1 (R1 (M1 U1))))))) -> C89
- R1 (R1 (R1 (L1 (R1 (L1 (M1 U1)))))) -> C90
- R1 (R1 (R1 (L1 (R1 (R1 (L1 (M1 U1))))))) -> C91
- R1 (R1 (R1 (L1 (R1 (R1 (R1 (M1 U1))))))) -> C92
- R1 (R1 (R1 (R1 (L1 (L1 (M1 U1)))))) -> C93
- R1 (R1 (R1 (R1 (L1 (R1 (L1 (M1 U1))))))) -> C94
- R1 (R1 (R1 (R1 (L1 (R1 (R1 (M1 U1))))))) -> C95
- R1 (R1 (R1 (R1 (R1 (L1 (L1 (M1 U1))))))) -> C96
- R1 (R1 (R1 (R1 (R1 (L1 (R1 (M1 U1))))))) -> C97
- R1 (R1 (R1 (R1 (R1 (R1 (L1 (M1 U1))))))) -> C98
- R1 (R1 (R1 (R1 (R1 (R1 (R1 (M1 U1))))))) -> C99
-
- type Rep_BigSum = D1
- ('MetaData
- "BigSum" "Wat" "main" 'False)
- ((((((C1
- ('MetaCons
- "C0" 'PrefixI 'False)
- U1
- :+: (C1
- ('MetaCons
- "C1"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C2"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C3"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C4"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C5"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C6"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C7"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C8"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C9"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C10"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C11"
- 'PrefixI
- 'False)
- U1))))
- :+: (((C1
- ('MetaCons
- "C12"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C13"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C14"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C15"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C16"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C17"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C18"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C19"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C20"
- 'PrefixI
- 'False)
- U1))
- :+: ((C1
- ('MetaCons
- "C21"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C22"
- 'PrefixI
- 'False)
- U1)
- :+: (C1
- ('MetaCons
- "C23"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C24"
- 'PrefixI
- 'False)
- U1)))))
- :+: ((((C1
- ('MetaCons
- "C25"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C26"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C27"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C28"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C29"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C30"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C31"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C32"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C33"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C34"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C35"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C36"
- 'PrefixI
- 'False)
- U1))))
- :+: (((C1
- ('MetaCons
- "C37"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C38"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C39"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C40"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C41"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C42"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C43"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C44"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C45"
- 'PrefixI
- 'False)
- U1))
- :+: ((C1
- ('MetaCons
- "C46"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C47"
- 'PrefixI
- 'False)
- U1)
- :+: (C1
- ('MetaCons
- "C48"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C49"
- 'PrefixI
- 'False)
- U1))))))
- :+: (((((C1
- ('MetaCons
- "C50"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C51"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C52"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C53"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C54"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C55"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C56"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C57"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C58"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C59"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C60"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C61"
- 'PrefixI
- 'False)
- U1))))
- :+: (((C1
- ('MetaCons
- "C62"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C63"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C64"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C65"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C66"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C67"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C68"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C69"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C70"
- 'PrefixI
- 'False)
- U1))
- :+: ((C1
- ('MetaCons
- "C71"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C72"
- 'PrefixI
- 'False)
- U1)
- :+: (C1
- ('MetaCons
- "C73"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C74"
- 'PrefixI
- 'False)
- U1)))))
- :+: ((((C1
- ('MetaCons
- "C75"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C76"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C77"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C78"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C79"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C80"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C81"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C82"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C83"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C84"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C85"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C86"
- 'PrefixI
- 'False)
- U1))))
- :+: (((C1
- ('MetaCons
- "C87"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C88"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C89"
- 'PrefixI
- 'False)
- U1))
- :+: (C1
- ('MetaCons
- "C90"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C91"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C92"
- 'PrefixI
- 'False)
- U1)))
- :+: ((C1
- ('MetaCons
- "C93"
- 'PrefixI
- 'False)
- U1
- :+: (C1
- ('MetaCons
- "C94"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C95"
- 'PrefixI
- 'False)
- U1))
- :+: ((C1
- ('MetaCons
- "C96"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C97"
- 'PrefixI
- 'False)
- U1)
- :+: (C1
- ('MetaCons
- "C98"
- 'PrefixI
- 'False)
- U1
- :+: C1
- ('MetaCons
- "C99"
- 'PrefixI
- 'False)
- U1)))))))
-
-
-
-
-
-{-
-data BigProduct = C
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
- () () () () () () () () () ()
deriving Generic
--}
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index 130ba44691..7594d1914a 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -554,7 +554,7 @@ test('T5642',
# 2014-12-10: 641085256 Improvements in constraints solver
# 2016-04-06: 462677300
- (wordsize(64), 916484672, 10)])
+ (wordsize(64), 838316496, 10)])
# prev: 1300000000
# 2014-07-17: 1358833928 (general round of updates)
# 2014-08-07: 1402242360 (caused by 1fc60ea)
@@ -570,6 +570,7 @@ test('T5642',
# 2016-02-08: 950004816 Pattern match checker re-rework
# 2016-05-12: 1300685592 Make Generic1 poly-kinded
# 2016-06-05: 916484672 Refactor derived Generic instances to reduce allocations
+ # 2016-09-03: 838316496 Derive the Generic instance in perf/compiler/T5642
],
compile,['-O'])