all.T 50.5 KB
Newer Older
thomie's avatar
thomie committed
1 2 3
# Tests that call 'compiler_stats_num_field' are skipped when debugging is on.
# See testsuite/driver/testlib.py.

4
def no_lint(name, opts):
5
   opts.compiler_always_flags = \
6
       [opt for opt in opts.compiler_always_flags if opt != '-dcore-lint' and opt != '-dcmm-lint']
7

Simon Marlow's avatar
Simon Marlow committed
8
setTestOpts(no_lint)
9 10


Simon Marlow's avatar
Simon Marlow committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
# Note [residency]
#
# Residency (peak_megabytes_allocated and max_bytes_used) is sensitive
# to when the major GC runs, which makes it inherently inaccurate.
# Sometime an innocuous change somewhere can shift things around such
# that the samples occur at a different time, and the residency
# appears to change (up or down) when the underlying profile hasn't
# really changed.
#
# However, please don't just ignore changes in residency.  If you see
# a change in one of these figures, please check whether it is real or
# not as follows:
#
#  * Run the test with old and new compilers, adding +RTS -h -i0.01
#    (you don't need to compile anything for profiling or enable profiling
#    libraries to get a heap profile).
#  * view the heap profiles, read off the maximum residency.  If it has
#    really changed, then you know there's an issue.

Simon Marlow's avatar
Simon Marlow committed
30
test('T1969',
31
     [# expect_broken(12437),
32
      compiler_stats_num_field('peak_megabytes_allocated', # Note [residency]
33
          [(wordsize(32), 30, 15),
34 35 36 37 38
             # 2010-05-17 14 (x86/Windows)
             #            15 (x86/OS X)
             #            19 (x86/OS X)
             # 2013-02-10 13 (x86/Windows)
             # 2013-02-10 14 (x86/OSX)
39
             # 2013-11-13 17 (x86/Windows, 64bit machine)
40
             # 2015-07-11 21 (x86/Linux, 64bit machine) use +RTS -G1
41
             # 2016-04-06 30 (x86/Linux, 64bit machine)
Ben Gamari's avatar
Ben Gamari committed
42
           (wordsize(64), 83, 20)]),
43 44 45 46
             #            28 (amd64/Linux)
             #            34 (amd64/Linux)
             # 2012-09-20 23 (amd64/Linux)
             # 2012-10-03 25 (amd64/Linux if .hi exists)
47
             # 2013-02-13 23, but unstable so increased to 10% range
Simon Peyton Jones's avatar
Simon Peyton Jones committed
48
             # 2013-02-13 27, very unstable!
Joachim Breitner's avatar
Joachim Breitner committed
49
             # 2014-09-10 29 (amd64/Linux) post-AMP-cleanup
50 51
             # 2013-09-11 30, 10 (amd64/Linux)
             # 2013-09-11 30, 15 (adapt to Phab CI)
52
             # 2015-06-03 41, (amd64/Linux) use +RTS -G1
53
             # 2015-10-28 55, (amd64/Linux) emit Typeable at definition site
54 55
             # 2016-10-20 68, (amd64/Linux) allow top-level string literals
             #                See the comment 16 on #8472.
Ben Gamari's avatar
Ben Gamari committed
56
             # 2017-02-17 83  (amd64/Linux) Type-indexed Typeable
57
      compiler_stats_num_field('max_bytes_used',
58
          [(platform('i386-unknown-mingw32'), 5719436, 20),
59 60
                                 # 2010-05-17 5717704 (x86/Windows)
                                 # 2013-02-10 5159748 (x86/Windows)
61
                                 # 2013-02-10 5030080 (x86/Windows)
62
                                 # 2013-11-13 7295012 (x86/Windows, 64bit machine)
63
                                 # 2014-04-24 5719436 (x86/Windows, 64bit machine)
64
           (wordsize(32), 9093608, 1),
65 66
             #            6707308 (x86/OS X)
             # 2009-12-31 6149572 (x86/Linux)
Austin Seipp's avatar
Austin Seipp committed
67
             # 2014-01-22 6429864 (x86/Linux)
68
             # 2014-06-29 5949188 (x86/Linux)
69
             # 2015-07-11 6241108 (x86/Linux, 64bit machine) use +RTS -G1
70
             # 2016-04-06 9093608 (x86/Linux, 64bit machine)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
71

lukemaurer's avatar
lukemaurer committed
72
           (wordsize(64), 19924328, 15)]),
Joachim Breitner's avatar
Joachim Breitner committed
73
             # 2014-09-10 10463640, 10  # post-AMP-update (somewhat stabelish)
Austin Seipp's avatar
Austin Seipp committed
74
               # looks like the peak is around ~10M, but we're
75 76 77
               # unlikely to GC exactly on the peak.
               # varies quite a lot with CLEANUP and BINDIST,
               # hence 10% range.
Simon Marlow's avatar
Simon Marlow committed
78
               # See Note [residency] to get an accurate view.
79 80
             # 2014-09-14  9684256, 10 # try to lower it a bit more to match Phab's CI
             # 2014-11-03 10584344,    # ghcspeed reports higher numbers consistently
Ben Gamari's avatar
Ben Gamari committed
81
             # 2015-07-11 11670120 (amd64/Linux)
82
             # 2015-10-28 15017528 (amd64/Linux) emit typeable at definition site
Ben Gamari's avatar
Ben Gamari committed
83
             # 2016-10-12 17285216 (amd64/Linux) it's not entirely clear why
lukemaurer's avatar
lukemaurer committed
84
             # 2017-02-01 19924328 (amd64/Linux) Join points (#12988)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
85 86
             # 2017-02-14 16393848 Early inline patch

87
      compiler_stats_num_field('bytes allocated',
88
          [(platform('i386-unknown-mingw32'), 301784492, 5),
89 90
                                 #            215582916 (x86/Windows)
                                 # 2012-10-29 298921816 (x86/Windows)
91
                                 # 2013-02-10 310633884 (x86/Windows)
92
                                 # 2013-11-13 317975916 (x86/Windows, 64bit machine)
93
                                 # 2014-04-04 301784492 (x86/Windows, 64bit machine)
94
           (wordsize(32), 344730660, 1),
95 96 97 98
             #            221667908 (x86/OS X)
             #            274932264 (x86/Linux)
             # 2012-10-08 303930948 (x86/Linux, new codegen)
             # 2013-02-10 322937684 (x86/OSX)
Austin Seipp's avatar
Austin Seipp committed
99
             # 2014-01-22 316103268 (x86/Linux)
100
             # 2014-06-29 303300692 (x86/Linux)
101
             # 2015-07-11 288699104 (x86/Linux, 64-bit machine) use +RTS -G1
102
             # 2016-04-06 344730660 (x86/Linux, 64-bit machine)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
103
           (wordsize(64), 695354904, 5)]),
Ben Gamari's avatar
Ben Gamari committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
             # 2009-11-17 434845560 (amd64/Linux)
             # 2009-12-08 459776680 (amd64/Linux)
             # 2010-05-17 519377728 (amd64/Linux)
             # 2011-08-05 561382568 (amd64/OS X)
             # 2012-07-16 589168872 (amd64/Linux)
             # 2012-07-20 595936240 (amd64/Linux)
             # 2012-08-23 606230880 (amd64/Linux)
             # 2012-08-29 633334184 (amd64/Linux) new codegen
             # 2012-09-18 641959976 (amd64/Linux)
             # 2012-10-19 661832592 (amd64/Linux) -fPIC turned on
             # 2012-10-23 642594312 (amd64/Linux) -fPIC turned off again
             # 2012-11-12 658786936 (amd64/Linux) UNKNOWN REASON
             # 2013-91-17 667160192 (x86_64/Linux) new demand analyser
             # 2013-10-18 698612512 (x86_64/Linux) fix for #8456
             # 2014-02-10 660922376 (x86_64/Linux) call arity analysis
             # 2014-07-17 651626680 (x86_64/Linux) roundabout update
             # 2014-09-10 630299456 (x86_64/Linux) post-AMP-cleanup
             # 2015-06-03 581460896 (x86_64/Linux) use +RTS -G1
             # 2015-10-28 695430728 (x86_64/Linux) emit Typeable at definition site
             # 2015-10-28 756138176 (x86_64/Linux) inst-decl defaults go via typechecker (#12220)
             # 2017-02-17 831733376 (x86_64/Linux) Type-indexed Typeable
Simon Peyton Jones's avatar
Simon Peyton Jones committed
125
             # 2017-02-25 695354904 (x86_64/Linux) Early inlining patch
126
      only_ways(['normal']),
127

128
      extra_hc_opts('-dcore-lint -static'),
129 130
          # Leave -dcore-lint on for this one test, so that we have something
          # that will catch a regression in -dcore-lint performance.
131 132

      # Use `+RTS -G1` for more stable residency measurements. Note [residency].
133
      extra_hc_opts('+RTS -G1 -RTS')
Simon Marlow's avatar
Simon Marlow committed
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
      ],
     compile,
     [''])

# This one tests for the space leak in the native code generator,
# where it holds onto the entire asm output until the end.  The space
# leak reappears from time to time, so it's a good idea to have a test
# for it.  The residency of this test will jump by 10MB to 40MB or so
# on x86-64 if the space leak appears.

# Only run this one if we have an NCG:
if 'optasm' in config.compile_ways:
   conf_3294 = only_ways(['normal'])
else:
   conf_3294 = skip

test('T3294',
151
     [
Simon Marlow's avatar
Simon Marlow committed
152
      compiler_stats_num_field('max_bytes_used', # Note [residency]
153
          [(wordsize(32), 28686588, 15),
154 155 156 157
             #            17725476 (x86/OS X)
             #            14593500 (Windows)
             # 2013-02-10 20651576 (x86/Windows)
             # 2013-02-10 20772984 (x86/OSX)
158
             # 2013-11-13 24009436 (x86/Windows, 64bit machine)
159
             # 2014-04-24 19882188 (x86/Windows, 64bit machine)
160
             # 2014-12-22 26525384 (x86/Windows) Increase due to silent superclasses?
161
             # 2015-07-11 43196344 (x86/Linux, 64-bit machine) use +RTS -G1
162
             # 2016-04-06 28686588 (x86/Linux, 64-bit machine)
163

Ben Gamari's avatar
Ben Gamari committed
164
           (wordsize(64), 63131248, 20)]),
165 166 167 168 169 170 171 172 173
             # prev:           25753192 (amd64/Linux)
             # 29/08/2012:     37724352 (amd64/Linux)
             #  (increase due to new codegen, see #7198)
             # 13/13/2012:     44894544 (amd64/Linux)
             #  (reason for increase unknown)
             # 15/5/2013:      36904752  (amd64/Linux)
             #  (reason for decrease unknown)
             # 29/5/2013:      43224080  (amd64/Linux)
             #  (reason for increase back to earlier value unknown)
174 175
             # 2014-07-14:     36670800  (amd64/Linux)
             #  (reason unknown, setting expected value somewhere in between)
176 177
             # 2015-01-22:     45000000  (amd64/Linux)
             #  varies between 40959592 and 52914488... increasing to +-20%
178 179
             # 2015-10-28:     50367248  (amd64/Linux)
             #  D757: emit Typeable instances at site of type definition
thomie's avatar
thomie committed
180 181
             # 2016-07-11:     54609256  (Windows) before fix for #12227
             # 2016-07-11:     52992688  (Windows) after fix for #12227
Ben Gamari's avatar
Ben Gamari committed
182
             # 2017-02-17:     63131248  (amd64/Linux) Type indexed Typeable
183

184
      compiler_stats_num_field('bytes allocated',
185
          [(wordsize(32), 1377050640, 5),
186 187 188
           # previous:     815479800  (x86/Linux)
           # (^ increase due to new codegen, see #7198)
           # 2012-10-08:  1373514844 (x86/Linux)
Austin Seipp's avatar
Austin Seipp committed
189 190
           # 2013-11-13: 1478325844  (x86/Windows, 64bit machine)
           # 2014-01-12: 1565185140  (x86/Linux)
191
           # 2013-04-04: 1377050640  (x86/Windows, 64bit machine)
Ben Gamari's avatar
Ben Gamari committed
192
           (wordsize(64), 2758641264, 5)]),
193 194 195 196
            # old:        1357587088 (amd64/Linux)
            # 29/08/2012: 2961778696 (amd64/Linux)
            # (^ increase due to new codegen, see #7198)
            # 18/09/2012: 2717327208 (amd64/Linux)
197 198 199
            # 08/06/2013: 2901451552 (amd64/Linux) (reason unknown)
            # 12/12/2013: 3083825616 (amd64/Linux) (reason unknown)
            # 18/02/2014: 2897630040 (amd64/Linux) (call arity improvements)
200
            # 12/03/2014: 2705289664 (amd64/Linux) (more call arity improvements)
201
            # 2014-17-07: 2671595512 (amd64/Linux) (round-about update)
Joachim Breitner's avatar
Joachim Breitner committed
202
            # 2014-09-10: 2709595808 (amd64/Linux) post-AMP cleanup
thomie's avatar
thomie committed
203 204
            # 2016-07-11: 2664479936 (Windows) before fix for #12227
            # 2016-07-11: 2739731144 (Windows) after fix for #12227 (ignoring)
Ben Gamari's avatar
Ben Gamari committed
205
            # 2016-02-17: 2758641264 (amd64/Linux) (Type indexed Typeable)
206 207 208
      conf_3294,

      # Use `+RTS -G1` for more stable residency measurements. Note [residency].
209
      extra_hc_opts('+RTS -G1 -RTS')
Simon Marlow's avatar
Simon Marlow committed
210 211 212
      ],
     compile,
     [''])
Ian Lynagh's avatar
Ian Lynagh committed
213

Simon Peyton Jones's avatar
Simon Peyton Jones committed
214
test('T4801',
215 216
     [ # expect_broken(5224),
       # temporarily unbroken (#5227)
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
###################################
# deactivated for now, as this metric became too volatile recently
#      compiler_stats_num_field('peak_megabytes_allocated',# Note [residency]
#          [(platform('x86_64-apple-darwin'), 70, 1),
#                           # expected value: 58 (amd64/OS X)
#                           # 13/01/2014 - 70
#           (wordsize(32), 30, 20),
#           (wordsize(64), 48, 20)]),
#            # prev:       50 (amd64/Linux)
#            # 19/10/2012: 64 (amd64/Linux)
#            #                (^ REASON UNKNOWN!)
#            # 12/11/2012: 49 (amd64/Linux)
#            #                (^ REASON UNKNOWN!)
#            # 28/8/13:    60 (amd64/Linux)
#            #                (^ REASON UNKNOWN!)
#            # 2014-09-10: 55 post-AMP-cleanup
#            # 2014-10-08: 62 (jumps between 55 and 71 observed -- GC tipping point?)
#            # 2014-10-13: 48 stricter seqDmdType
Simon Marlow's avatar
Simon Marlow committed
235

236
      compiler_stats_num_field('bytes allocated',
237 238 239
          [(platform('x86_64-apple-darwin'), 465653312, 10),
           # prev:       510938976 (amd64/OS X):
           # 2015-12-11: 465653312 (amd64/OS X) Update, bump tolerance to +/-10%
Simon Marlow's avatar
Simon Marlow committed
240

241
           (wordsize(32), 239556572, 10),
Austin Seipp's avatar
Austin Seipp committed
242 243
           # prev:        185669232 (x86/OSX)
           # 2014-01-22:  211198056 (x86/Linux)
244
           # 2014-09-03:  185242032 (Windows laptop)
245
           # 2014-12-01:  203962148 (Windows laptop)
246
           # 2016-04-06:  239556572 (x86/Linux)
247
           (wordsize(64), 388898280, 10)]),
248 249 250
            # prev:       360243576 (amd64/Linux)
            # 19/10/2012: 447190832 (amd64/Linux) (-fPIC turned on)
            # 19/10/2012: 392409984 (amd64/Linux) (-fPIC turned off)
Joachim Breitner's avatar
Joachim Breitner committed
251
            # 2014-04-08: 362939272 (amd64/Linux) cumulation of various smaller improvements over recent commits
Joachim Breitner's avatar
Joachim Breitner committed
252
            # 2014-10-08: 382056344 (amd64/Linux) stricter foldr2 488e95b
253
            # 2015-10-28: 434278248 (amd64/Linux) emit Typeable at definition site
254
            # 2016-10-19: 388898280 (amd64/Linux) Refactor traceRn interface (#12617)
Simon Marlow's avatar
Simon Marlow committed
255

256
###################################
257
# deactivated for now, as this metric became too volatile recently
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279
#
#     compiler_stats_num_field('max_bytes_used',
#         [(platform('x86_64-apple-darwin'), 25145320, 5),
#          (wordsize(32), 11829000, 15),
#            #              9651948 (x86/OSX)
#            #              10290952 (windows)
#            # 2013-02-10   11071060 (x86/Windows)
#            # 2013-02-10:  11207828 (x86/OSX)
#            # (some date): 11139444
#            # 2013-11-13:  11829000 (x86/Windows, 64bit machine)
#          (wordsize(64), 19296544, 15)]),
#               # prev:       20486256 (amd64/OS X)
#               # 30/08/2012: 17305600--20391920 (varies a lot)
#               # 19/10/2012: 26882576 (-fPIC turned on)
#               # 19/10/2012: 18619912 (-fPIC turned off)
#               # 24/12/2012: 21657520 (perhaps gc sampling time wibbles?)
#               # 10/01/2014: 25166280
#               # 13/01/2014: 22646000 (mostly due to #8647)
#               # 18/02/2014: 25002136 (call arity analysis changes)
#               # 12/05/2014: 25002136 (specialisation and inlining changes)
#               # 10/09/2014: 19296544, 10 (post-AMP-cleanup)
#               # 14/09/2014: 19585456, 15 (adapt to Phab CI env)
280
       only_ways(['normal']),
281 282 283
       extra_hc_opts('-static'),

       # Use `+RTS -G1` for more stable residency measurements. Note [residency].
284
       extra_hc_opts('+RTS -G1 -RTS')
285
       ],
Simon Peyton Jones's avatar
Simon Peyton Jones committed
286 287 288
     compile,
     [''])

Ian Lynagh's avatar
Ian Lynagh committed
289
test('T3064',
290
     [compiler_stats_num_field('peak_megabytes_allocated',# Note [residency]
291
          [(wordsize(32), 28, 20),
292 293
            # expected value: 14 (x86/Linux 28-06-2012):
            # 2013-11-13:     18 (x86/Windows, 64bit machine)
Austin Seipp's avatar
Austin Seipp committed
294
            # 2014-01-22:     23 (x86/Linux)
295
            # 2014-12-22:     23 (x86/Linux) death to silent superclasses
296
            # 2015-07-11      28 (x86/Linux, 64-bit machine) use +RTS -G1
297
           (wordsize(64), 66, 20)]),
298 299
            # (amd64/Linux):            18
            # (amd64/Linux) 2012-02-07: 26
300
            # (amd64/Linux) 2013-02-12: 23; increased range to 10%
301
            # (amd64/Linux) 2013-04-03: 26
Austin Seipp's avatar
Austin Seipp committed
302
            # (amd64/Linux) 2013-09-11: 30; result of AMP patch
303
            # Increased range to 20%.  peak-usage varies from 22 to 26,
304
            #  depending on whether the old .hi file exists
305
            # (amd64/Linux) 2013-09-11: 37; better arity analysis (weird)
306
            # (amd64/Linux) (09/09/2014): 42, AMP changes (larger interfaces, more loading)
307
            # (amd64/Linux) 2014-10-13: 38: Stricter seqDmdType
308
            # (amd64/Linux) 2014-12-22: 27: death to silent superclasses
309
            # (amd64/Linux) 2015-01-22: 32: Varies from 30 to 34, at least here.
310
            # (amd64/Linux) 2015-06-03: 54: use +RTS -G1
311
            # (amd64/Linux) 2016-10-25: 66: Presumably creep
312

313
      compiler_stats_num_field('bytes allocated',
314
          [(wordsize(32), 153261024, 10),
315
            # 2011-06-28: 56380288  (x86/Linux)
Austin Seipp's avatar
Austin Seipp committed
316
            # 2012-10-30: 111189536 (x86/Windows)
317
            # 2013-11-13: 146626504 (x86/Windows, 64bit machine)
Austin Seipp's avatar
Austin Seipp committed
318
            # 2014-01-22: 162457940 (x86/Linux)
319
            # 2014-12-01: 162457940 (Windows)
320
            # 2014-12-22: 122836340 (Windows) Death to silent superclasses
321
            # 2016-04-06: 153261024 (x86/Linux) probably wildcard refactor
322

Simon Peyton Jones's avatar
Simon Peyton Jones committed
323
           (wordsize(64), 259815560, 5)]),
324 325 326 327 328 329 330 331
            # (amd64/Linux) (2011-06-28):  73259544
            # (amd64/Linux) (2013-02-07): 224798696
            # (amd64/Linux) (2013-08-02): 236404384, increase from roles
            # (amd64/Linux) (2013-09-11): 290165632, increase from AMP warnings
            # (amd64/Linux) (2013-11-22): 308300448, GND via Coercible and counters for constraints solving
            # (amd64/Linux) (2013-12-02): 329795912, Coercible refactor
            # (amd64/Linux) (2014-02-11): 308422280, optimize Coercions in simpleOptExpr
            # (amd64/Linux) (2014-05-23): 324022680, unknown cause
332
            # (amd64/Linux) (2014-07-17): 332702112, general round of updates
333
            # (amd64/Linux) (2014-08-29): 313638592, w/w for INLINABLE things
334 335 336 337 338
            # (amd64/Linux) (2014-09-09): 407416464, AMP changes (larger interfaces, more loading)
            # (amd64/Linux) (2014-09-14): 385145080, BPP changes (more NoImplicitPrelude in base)
            # (amd64/Linux) (2014-12-10): 363103840, improvements in constraint solver
            # (Mac)         (2014-12-18): 350418600, improvements to flattener
            # (amd64/Linux) (2014-12-22): 243670824, Ha! Death to superclass constraints, makes
339
            #                                        much less code for Monad instances
340
            # (amd64/Linux) (2015-12-01): 264952256, Regression due to Simon's wildcard refactor
341
            #                                        Tracked as #11151.
342
            # (amd64/Linux) (2015-12-11): 304344936, Regression due to TypeInType
343
            #                                        Tracked as #11196
344
            # (amd64/Linux) (2016-04-15): 287460128  Improvement due to using coercionKind instead
345
            #                                        of zonkTcType (Trac #11882)
346
            # (amd64/Darwin) (2017-01-23): 306222424 Presumably creep from recent changes (Typeable?)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
347
            # (amd64/Linux) (2017-02-14): 259815560  Early inline patch: 9% improvement
348

349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
###################################
# deactivated for now, as this metric became too volatile recently
#
#      compiler_stats_num_field('max_bytes_used',
#          [(wordsize(32), 11202304, 20),
#            # 2011-06-28:  2247016 (x86/Linux) (28/6/2011):
#            #(some date):  5511604
#            # 2013-11-13:  7218200 (x86/Windows, 64bit machine)
#            # 2014-04-04: 11202304 (x86/Windows, 64bit machine)
#           (wordsize(64), 13251728, 20)]),
#            # (amd64/Linux, intree) (28/06/2011):  4032024
#            # (amd64/Linux, intree) (07/02/2013):  9819288
#            # (amd64/Linux)         (14/02/2013):  8687360
#            # (amd64/Linux)         (18/02/2013):  9397488
#            # (amd64/Linux)         (02/08/2013): 10742536, increase from roles
#            # (amd64/Linux)         (19/08/2013): 9211816,  decrease apparently from better eta reduction
#            # (amd64/Linux)         (11/09/2013): 12000480, increase from AMP warnings
#            #                                     933cdf15a2d85229d3df04b437da31fdfbf4961f
#            # (amd64/Linux)         (22/11/2013): 16266992, GND via Coercible and counters for constraints solving
#            # (amd64/Linux)         (12/12/2013): 19821544, better One shot analysis
#            # (amd64/Linux)         (09/09/2014): 24357392, AMP changes (larger interfaces, more loading)
#            # (amd64/Linux)         (14/09/2014): 16053888, BPP changes (more NoImplicitPrelude in base)
#            # (amd64/Linux)         (19/09/2014): 18744992, unknown
#            # (amd64/Linux)         2014-10-13:   13251728, Stricter seqDmdType
373

374 375 376
       only_ways(['normal']),

       # Use `+RTS -G1` for more stable residency measurements. Note [residency].
377
       extra_hc_opts('+RTS -G1 -RTS')
Ian Lynagh's avatar
Ian Lynagh committed
378 379 380 381
      ],
     compile,
     [''])

Ian Lynagh's avatar
Ian Lynagh committed
382 383 384 385 386
test('T4007',
     normal,
     run_command,
     ['$MAKE -s --no-print-directory T4007'])

387
test('T5030',
388
     [compiler_stats_num_field('bytes allocated',
389
          [(wordsize(32), 345668088, 10),
390 391
           # previous:    196457520
           # 2012-10-08:  259547660 (x86/Linux, new codegen)
392
           # 2013-11-21:  198573456 (x86 Windows, 64 bit machine)
393
           # 2014-12-10:  227205560 constraint solver got worse again; more aggressive solving
394
           #                        of family-applications leads to less sharing, I think
395
           # 2015-07-11:  201882912 reason unknown
396
           # 2016-04-06:  345668088 likely TypeInType
397

398
           (wordsize(64), 794426536, 10)]),
399 400 401
             # Previously 530000000 (+/- 10%)
             # 17/1/13:   602993184  (x86_64/Linux)
             #            (new demand analyser)
402 403
             # 2013-06-08 538467496  (x86_64/Linux)
             # ^ reason unknown
eir@cis.upenn.edu's avatar
eir@cis.upenn.edu committed
404 405
             # 2013-08-02 454498592  (amd64/Linux)
             # decrease from more aggressive coercion optimisations from roles
406 407
             # 2013-11-12 397672152  (amd64/Linux)
             # big decrease following better CSE and arity
408 409
             # 2014-07-17 409314320  (amd64/Linux)
             # general round of updates
Joachim Breitner's avatar
Joachim Breitner committed
410
             # 2014-09-10 385152728  post-AMP-cleanup
411
             # 2014-12-08 340969128  constraint solver perf improvements (esp kick-out)
412
             # 2014-12-10 449042120  constraint solver got worse again; more aggressive solving
413
             #                          of family-applications leads to less sharing, I think
414
             # 2015-03-17 403932600  tweak to solver algorithm
415
             # 2015-12-11 653710960  TypeInType (see #11196)
416 417 418
             # 2016-10-17 794426536  20% big increase following
             #                       31621b12 * A collection of type-inference refactorings.
             #                       See ticket for more info
419

420 421 422
       only_ways(['normal'])
      ],
     compile,
423
     ['-freduction-depth=300'])
424

Simon Peyton Jones's avatar
Simon Peyton Jones committed
425
test('T5631',
426
     [compiler_stats_num_field('bytes allocated',
427
          [(wordsize(32), 570137436, 10),
428
        # expected value: 392904228 (x86/Linux)
429
        # 2014-04-04:     346389856 (x86 Windows, 64 bit machine)
430
        # 2014-12-01:     390199244 (Windows laptop)
431
        # 2016-04-06:     570137436 (amd64/Linux) many reasons
Ben Gamari's avatar
Ben Gamari committed
432
           (wordsize(64), 1517484488, 5)]),
433
        # expected value: 774595008 (amd64/Linux):
434
        # expected value: 735486328 (amd64/Linux) 2012/12/12:
435
        # expected value: 690742040 (amd64/Linux) Call Arity improvements
436
        # 2014-09-09:     739704712 (amd64/Linux) AMP changes
437
        # 2014-11-04:     776121120 (amd64/Linux) new-flatten-skolems
438
        # 2015-06-01:     812288344 (amd64/Linux) unknown cause
439 440 441
        # 2015-12-11:     1128828928 (amd64/Linux) TypeInType (see #11196)
        # 2015-12-21:     1198327544 (Mac) TypeApplications (will fix with #11196)
        # 2015-03-18:     1124068664 (Mac) optimize Unify & zonking
442
        # 2016-10-19:     1024926024 (amd64/Linux) Refactor traceRn interface (#12617)
443
        # 2016-11-10:     1077429456 (amd64/Linux) Stop -dno-debug-output suppressing -ddump-tc-trace
Ben Gamari's avatar
Ben Gamari committed
444
        # 2017-02-17:     1517484488 (amd64/Linux) Type-indexed Typeable
Simon Peyton Jones's avatar
Simon Peyton Jones committed
445 446 447 448 449
       only_ways(['normal'])
      ],
     compile,
     [''])

450
test('parsing001',
451 452
     [compiler_stats_num_field('bytes allocated',
          [(wordsize(32), 274000576, 10),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
453
           (wordsize(64), 463931280, 5)]),
454
        # expected value: 587079016 (amd64/Linux)
455
        # 2016-09-01:     581551384 (amd64/Linux) Restore w/w limit (#11565)
lukemaurer's avatar
lukemaurer committed
456
        # 2016-12-19:     493730288 (amd64/Linux) Join points (#12988)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
457
        # 2017-02-14:     463931280 Early inlining patch; acutal improvement 7%
458 459 460 461 462
       only_ways(['normal']),
      ],
     compile_fail, [''])


463 464 465
test('T783',
     [ only_ways(['normal']),  # no optimisation for this one
      # expected value: 175,569,928 (x86/Linux)
466
      compiler_stats_num_field('bytes allocated',
467
          [(wordsize(32), 249332816, 5),
468
            # 2012-10-08: 226907420 (x86/Linux)
469 470
            # 2013-02-10: 329202116 (x86/Windows)
            # 2013-02-10: 338465200 (x86/OSX)
471
            # 2014-04-04: 319179104 (x86 Windows, 64 bit machine)
472 473
            # 2014-09-03: 223377364 (Windows) better specialisation, raft of core-to-core optimisations
            # 2014-12-22: 235002220 (Windows) not sure why
474
            # 2016-04-06: 249332816 (x86/Linux, 64-bit machine)
475

Simon Peyton Jones's avatar
Simon Peyton Jones committed
476
           (wordsize(64), 436978192, 10)]),
477 478 479 480 481 482
            # prev:       349263216 (amd64/Linux)
            # 07/08/2012: 384479856 (amd64/Linux)
            # 29/08/2012: 436927840 (amd64/Linux)
            # 12/11/2012: 640324528 (amd64/Linux)
            #   (OldCmm removed: not sure why this got worse, the
            #    other perf tests remained about the same)
483 484
            # 18/10/2013: 734038080 (amd64/Linux)
            #   (fix for #8456)
485 486
            # 24/10/2013: 654804144 (amd64/Linux)
            #   (fix previous fix for #8456)
487 488
            # 2014-07-17: 640031840 (amd64/Linux)
            #   (general round of updates)
489
            # 2014-08-29: 441932632 (amd64/Linux)
490
            #   (better specialisation, raft of core-to-core optimisations)
491 492 493 494 495 496 497 498 499 500
            # 2014-08-29: 719814352 (amd64/Linux)
            #   (changed order of cmm block causes analyses to allocate much more,
            #      but the changed order is slighly better in terms of runtime, and
            #      this test seems to be an extreme outlier.)
            # 2015-05-16: 548288760 (amd64/Linux)
            #   (improved sequenceBlocks in nativeCodeGen, #10422)
            # 2015-08-07: 470738808 (amd64/Linux)
            #   (simplifying the switch plan code path for simple checks, #10677)
            # 2015-08-28: 526230456 (amd64/Linux)
            #    (D757: Emit Typeable instances at site of type definition)
Ben Gamari's avatar
Ben Gamari committed
501 502
            # 2015-12-04: 1134085384 (amd64/Linux)
            #    (D1535: Major overhaul of pattern match checker, #11162)
503 504
            # 2016-02-03: 488592288 (amd64/Linux)
            #    (D1795: Another overhaul of pattern match checker, #11374)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
505 506
            # 2017-02-14    436978192    Early inlining: 5% improvement

507
      extra_hc_opts('-static')
508 509
      ],
      compile,[''])
510 511 512

test('T5321Fun',
     [ only_ways(['normal']),  # no optimisation for this one
513
       compiler_stats_num_field('bytes allocated',
514
           [(wordsize(32), 279922360, 10),
515 516 517
             # prev:       300000000
             # 2012-10-08: 344416344 x86/Linux
             #  (increase due to new codegen)
518
             # 2014-09-03: 299656164     (specialisation and inlining)
519
             # 2014-12-10: 206406188     #  Improvements in constraint solver
520
             # 2016-04-06: 279922360 x86/Linux
Simon Peyton Jones's avatar
Simon Peyton Jones committed
521
            (wordsize(64), 488295304, 5)])
522
             # prev:       585521080
523 524 525 526 527 528 529 530 531
             # 2012-08-29: 713385808     #  (increase due to new codegen)
             # 2013-05-15: 628341952     #  (reason for decrease unknown)
             # 2013-06-24: 694019152     #  (reason for re-increase unknown)
             # 2014-05-12: 614409344     #  (specialisation and inlining changes)
             # 2014-09-10: 601629032     #  post-AMP-cleanup
             # 2014-11-06: 541287000     #  Simon's flat-skol changes to the constraint solver
             # 2014-12-10: 408110888     #  Improvements in constraint solver
             # 2014-12-16: 429921312     #  Flattener parameterized over roles
             # 2015-08-10: 509921312
532 533
             #  (undefined now takes an implicit parameter and GHC -O0 does
             #  not recognize that the application is bottom)
534 535
             # 2015-12-11: 565883176     #  TypeInType (see #11196)
             # 2017-01-06: 497356688     #  Small coercion optimisations
536 537
                                         #  The actual decrease was only 2%; earlier
                                         #    commits had drifted down
538
             # 2017-01-22: 525895608     #  Allow top-level string literals in Core. I'm not
539 540 541 542 543
                                         #    convinced that this patch is
                                         #    responsible for all of this
                                         #    change, however. Namely I am
                                         #    quite skeptical of the downward
                                         #    "drift" reported above
544 545
             # 2017-01-31: 498135752     #  Join points (#12988)
             # 2017-02-23: 524706256     #  Type-indexed Typeable? (on Darwin)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
546
             # 2017-02-25: 488295304     #  Early inlining patch
547 548 549 550 551
      ],
      compile,[''])

test('T5321FD',
     [ only_ways(['normal']),  # no optimisation for this one
552
      compiler_stats_num_field('bytes allocated',
553
          [(wordsize(32), 250757460, 10),
554 555 556
            # prev:       213380256
            # 2012-10-08: 240302920 (x86/Linux)
            #  (increase due to new codegen)
557 558
            # 2014-07-31: 211699816 (Windows) (-11%)
            #  (due to better optCoercion, 5e7406d9, #9233)
559
            # 2016-04-06: 250757460 (x86/Linux)
560
           (wordsize(64), 477840432, 10)])
561 562 563
            # prev:       418306336
            # 29/08/2012: 492905640
            #  (increase due to new codegen)
564
            # 15/05/2013: 406039584
565
            #  (reason for decrease unknown)
566
            # 08/06/2013: 476497048
567
            #  (reason for increase unknown)
568 569 570 571
            # before 2014-07-17: 441997096
            #  (with -8%, still in range, hence cause not known)
            # 2014-07-17: 426960992 (-11% of previous value)
            #  (due to better optCoercion, 5e7406d9, #9233)
572 573
            # 2014-10-08  410895536
            #  (various changes; biggest improvements due to 949ad67 and FastString package ids)
574 575 576
            # 2015-08-10: 470895536
            #  (undefined now takes an implicit parameter and GHC -O0 does
            #  not recognize that the application is bottom)
577 578
            # 2015-10-28: 532365376
            #  D757: emit Typeable instances at site of type definition
579 580
            # 2016-07-16: 477840432
            #  Optimize handling of built-in OccNames
581 582
      ],
      compile,[''])
Ian Lynagh's avatar
Ian Lynagh committed
583 584 585

test('T5642',
     [ only_ways(['normal']),
Ben Gamari's avatar
Ben Gamari committed
586
       normal,
587
       compiler_stats_num_field('bytes allocated',
588
           [(wordsize(32), 462677300, 10),
589
                     # sample from x86/Linux
Gabor Greif's avatar
Typos  
Gabor Greif committed
590
            # prev:        650000000
591
            # 2014-09-03:  753045568
592
            # 2014-12-10:  641085256 Improvements in constraints solver
593
            # 2016-04-06:  462677300
594

595
            (wordsize(64),  838316496, 10)])
596 597
            # prev:        1300000000
            # 2014-07-17:  1358833928 (general round of updates)
598
            # 2014-08-07:  1402242360 (caused by 1fc60ea)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
599
# Watch out for:
Joachim Breitner's avatar
Joachim Breitner committed
600 601 602 603 604
            # 23/05/2014:  1452688392 (More aggressive specialisation means we get
            #                          specialised copies of imported functions that
            #                          are ultimately discarded by trimAutoRules
            #                          It's a bizarre program with LOTS of data types)
            # 2014-09-10:  1536924976 post-AMP-cleanup
605
            # 2014-12-10:  1282916024 Improvements in constraints solver
606
            # 2015-10-28:  1412808976 Emit Typeable at definition site
607
            # 2015-11-22:  1071915072 Use TypeLits in the metadata encoding
608
            # 2016-02-08:   950004816 Pattern match checker re-rework
Ryan Scott's avatar
Ryan Scott committed
609
            # 2016-05-12:  1300685592 Make Generic1 poly-kinded
610
            # 2016-06-05:   916484672 Refactor derived Generic instances to reduce allocations
611
            # 2016-09-03:   838316496 Derive the Generic instance in perf/compiler/T5642
Ian Lynagh's avatar
Ian Lynagh committed
612 613
      ],
      compile,['-O'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
614 615 616

test('T5837',
     [ only_ways(['normal']),
617
      compiler_stats_num_field('bytes allocated',
618
          [(wordsize(32), 24199320, 10),
619
             # 40000000 (x86/Linux)
620 621
             # 2013-11-13:  45520936 (x86/Windows, 64bit machine)
             # 2014-09-03:  37096484 (Windows laptop, w/w for INLINABLE things
622
             # 2014-12-01: 135914136 (Windows laptop, regression see below)
623 624
             # 2014-12-08: 115905208  Constraint solver perf improvements (esp kick-out)
             # 2016-04-06: 24199320  (x86/Linux, 64-bit machine) TypeInType
625

626 627 628
           (platform('x86_64-unknown-mingw32'), 59161648, 7),
             # 2017-02-19                        59161648 (x64/Windows) - Unknown

Simon Peyton Jones's avatar
Simon Peyton Jones committed
629
           (wordsize(64), 52625920, 7)])
630
             # sample: 3926235424 (amd64/Linux, 15/2/2012)
631 632
             # 2012-10-02 81879216
             # 2012-09-20 87254264 amd64/Linux
633
             # 2013-09-18 90587232 amd64/Linux
Austin Seipp's avatar
Austin Seipp committed
634 635
             # 2013-11-21 86795752 amd64/Linux, GND via Coercible and counters
             #                                  for constraints solving
636 637
             # 2014-08-29 73639840 amd64/Linux, w/w for INLINABLE things
             # 2014-10-08 73639840 amd64/Linux, Burning Bridges and other small changes
638
             # 2014-11-06 271028976       Linux, Accept big regression;
639
             #   See Note [An alternative story for the inert substitution] in TcFlatten
640
             # 2014-12-08 234790312 Constraint solver perf improvements (esp kick-out)
641 642
             # 2014-12-16 231155640 Mac  Flattener parameterized over roles;
             #                           some optimization
643
             # 2015-03-17 53424304  Mac  Better depth checking; fails earlier
644
             # 2015-06-09 38834096  Better "improvement"; I'm not sure whey it improves things
645 646 647
             # 2015-12-11 43877520  amd64/Linux, TypeInType (see #11196)
             # 2016-03-18 48507272  Mac, accept small regression in exchange
             #                           for other optimisations
Richard Eisenberg's avatar
Richard Eisenberg committed
648
             # 2016-09-15 42445672  Linux; fixing #12422
649
             # 2016-09-25 41832056  amd64/Linux, Rework handling of names (D2469)
650 651 652
             # 2016-10-25 52597024  amd64/Linux, the test now passes (hooray), and so
             #                          allocates more because it goes right down the
             #                          compilation pipeline
653 654
             # 2017-01-24 57861352  amd64/Linux, very likely due to the top-level strings
             #                          in Core patch.
655 656 657 658
             # 2017-02-07 50253880  Another improvement in SetLevels.  I don't think
             #                      all the gain here is from this patch, but I think it
             #                      just pushed it over the edge, so I'm re-centreing, and
             #                      changing to 5% tolerance
659 660 661
             # 2017-02-07 53592736  amd64/Linux Simon's earlier decrease appears
             #                      to be environmentally-dependent.
             #                      Also bumped acceptance threshold to 7%.
662
             # 2017-02-20 58648600  amd64/Linux Type-indexed Typeable
663
             # 2017-02-28 54151864  amd64/Linux Likely drift due to recent simplifier improvements
Simon Peyton Jones's avatar
Simon Peyton Jones committed
664
             # 2017-02-25 52625920  amd64/Linux Early inlining patch
Simon Peyton Jones's avatar
Simon Peyton Jones committed
665
      ],
666
      compile, ['-freduction-depth=50'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
667 668 669

test('T6048',
     [ only_ways(['optasm']),
670
      compiler_stats_num_field('bytes allocated',
671
          [(wordsize(32), 55701280, 10),
672 673
            # prev:       38000000 (x86/Linux)
            # 2012-10-08: 48887164 (x86/Linux)
674
            # 2014-04-04: 62618072 (x86 Windows, 64 bit machine)
675
            # 2014-09-03: 56315812 (x86 Windows, w/w for INLINABLE)
676
            # 2014-12-01: 49987836 (x86 Windows)
677
            # 2016-04-06: 55701280 (x86/Linux, 64-bit machine)
678

Ben Gamari's avatar
Ben Gamari committed
679 680 681 682 683 684 685 686 687 688 689 690 691
           (wordsize(64), 115714216, 10)])
             # 2012-09-18  97247032 amd64/Linux
             # 2014-01-16 108578664 amd64/Linux (unknown, likely foldl-via-foldr)
             # 2014-01-18  95960720 amd64/Linux Call Arity improvements
             # 2014-02-28 105556793 amd64/Linux (unknown, tweak in base/4d9e7c9e3 resulted in change)
             # 2014-03-05 110646312 amd64/Linux Call Arity became more elaborate
             # 2014-07-14 125431448 amd64/Linux unknown reason. Even worse in GHC-7.8.3. *shurg*
             # 2014-08-29 108354472 amd64/Linux w/w for INLINABLE things
             # 2014-09-14  88186056 amd64/Linux BPP part1 change (more NoImplicitPreludes in base)
             # 2014-01-08  95946688 amd64/Linux Mostly 4c834fd. Occasional spikes to 103822120!
             # 2016-03-11 108225624 amd64/Linux unknown reason sadly; likely gradual creep.
             # 2016-11-25  94327392 amd64/Linux Back down again hooray; still not sure why
             # 2017-02-17 115715592 amd64/Linux Type-indexed Typeable
Simon Peyton Jones's avatar
Simon Peyton Jones committed
692 693
      ],
      compile,[''])
694 695 696 697

test('T9020',
     [ only_ways(['optasm']),
      compiler_stats_num_field('bytes allocated',
698 699 700
          [(wordsize(32), 343005716, 10),
           # Original:    381360728
           # 2014-07-31:  343005716 (Windows) (general round of updates)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
701
           (wordsize(64), 500707080, 10)])
702 703
           # prev:        795469104
           # 2014-07-17:  728263536 (general round of updates)
Joachim Breitner's avatar
Joachim Breitner committed
704
           # 2014-09-10:  785871680 post-AMP-cleanup
David Feuer's avatar
David Feuer committed
705
           # 2014-11-03:  680162056 Further Applicative and Monad adjustments
706
           # 2015-10-21:  786189008 Make stronglyConnCompFromEdgedVertices deterministic
707
           # 2016-01-26:  698401736 improvement from using ExpTypes instead of ReturnTvs
708
           # 2016-04-06:  852298336 Refactoring of CSE #11781
709
           # 2016-04-06:  698401736 Use thenIO in Applicative IO
710
           # 2017-02-03:  764866144 Join points
Simon Peyton Jones's avatar
Simon Peyton Jones committed
711 712
           # 2017-02-14:  500707080 Early inline patch; 35% decrease!
           #                        Program size collapses in first simplification
713 714
      ],
      compile,[''])
715 716 717

test('T9675',
     [ only_ways(['optasm']),
718
       compiler_stats_num_field('max_bytes_used', # Note [residency]
719
          [(wordsize(64), 38776008, 15),
720
          # 2014-10-13    29596552
721
          # 2014-10-13    26570896   seq the DmdEnv in seqDmdType as well
722
          # 2014-10-13    18582472   different machines giving different results..
723
          # 2014-10-13    22220552   use the mean
724
          # 2015-06-21    28056344   switch to `+RTS -G1`, tighten bound to 15%
725
          # 2015-10-28    23776640   emit Typeable at definition site
726
          # 2015-12-11    30837312   TypeInType (see #11196)
727
          # 2016-04-14    38776008   Final demand analyzer run
728 729 730
           (wordsize(32), 18043224, 15)
          # 2015-07-11    15341228   (x86/Linux, 64-bit machine) use +RTS -G1
          # 2016-04-06    18043224   (x86/Linux, 64-bit machine)
731
          ]),
732
       compiler_stats_num_field('peak_megabytes_allocated', # Note [residency]
Simon Marlow's avatar
Simon Marlow committed
733
          [(wordsize(64), 121, 15),
734
          # 2014-10-13    66
735
          # 2014-10-13    58         seq the DmdEnv in seqDmdType as well
736
          # 2014-10-13    49         different machines giving different results...
737
          # 2014-10-13    53         use the mean
738 739
          # 2015-06-15    44         reduced for some reason
          # 2015-06-21    105        switch to `+RTS -G1`
740
          # 2015-12-04    88         new pattern checker (D1535)
741
          # 2015-12-11    113        TypeInType (see #11196)
742
          # 2016-04-14    144        Final demand analyzer run
Simon Marlow's avatar
Simon Marlow committed
743
          # 2016-07-26    121        Unboxed sums?
744
            (wordsize(32), 56, 15)
745
          # 2015-07-11    56         (x86/Linux, 64-bit machine) use +RTS -G1
746 747
          ]),
       compiler_stats_num_field('bytes allocated',
Ben Gamari's avatar
Ben Gamari committed
748
          [(wordsize(64), 731171072, 10)
749
          # 2014-10-13    544489040
750
          # 2015-10-28    608284152  emit Typeable at definition site
Ben Gamari's avatar
Ben Gamari committed
751
          # 2017-02-17    731171072  Type-indexed Typeable
752
          ,(wordsize(32), 279480696, 10)
753
          # 2015-07-11    279480696  (x86/Linux, 64-bit machine) use +RTS -G1
754
          ]),
755 756

       # Use `+RTS -G1` for more stable residency measurements. Note [residency].
757
       extra_hc_opts('+RTS -G1 -RTS')
758 759 760
      ],
     compile,
     [''])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
761 762 763 764

test('T9872a',
     [ only_ways(['normal']),
       compiler_stats_num_field('bytes allocated',
Simon Peyton Jones's avatar
Simon Peyton Jones committed
765
          [(wordsize(64), 3005891848, 5),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
766
          # 2014-12-10    5521332656    Initally created
767
          # 2014-12-16    5848657456    Flattener parameterized over roles
768
          # 2014-12-18    2680733672    Reduce type families even more eagerly
769
          # 2015-12-11    3581500440    TypeInType (see #11196)
Joachim Breitner's avatar
Joachim Breitner committed
770
          # 2016-04-07    3352882080    CSE improvements
771
          # 2016-10-19    3134866040    Refactor traceRn interface (#12617)
Ben Gamari's avatar
Ben Gamari committed
772
          # 2017-02-17    3298422648    Type-indexed Typeable
Simon Peyton Jones's avatar
Simon Peyton Jones committed
773 774
          # 2017-02-25    3005891848    Early inlining patch

775 776 777
           (wordsize(32), 1740903516, 5)
          # was           1325592896
          # 2016-04-06    1740903516    x86/Linux
Simon Peyton Jones's avatar
Simon Peyton Jones committed
778 779 780 781 782 783 784 785
          ]),
      ],
     compile_fail,
     [''])

test('T9872b',
     [ only_ways(['normal']),
       compiler_stats_num_field('bytes allocated',
Simon Peyton Jones's avatar
Simon Peyton Jones committed
786
          [(wordsize(64), 3730686224, 5),
Simon Peyton Jones's avatar
Simon Peyton Jones committed
787
          # 2014-12-10    6483306280    Initally created
788
          # 2014-12-16    6892251912    Flattener parameterized over roles