all.T 52 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), 9261052, 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)
71
             # 2017-03-24 9261052 (x86/Linux, 64-bit machine)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
72

lukemaurer's avatar
lukemaurer committed
73
           (wordsize(64), 19924328, 15)]),
Joachim Breitner's avatar
Joachim Breitner committed
74
             # 2014-09-10 10463640, 10  # post-AMP-update (somewhat stabelish)
Austin Seipp's avatar
Austin Seipp committed
75
               # looks like the peak is around ~10M, but we're
76 77 78
               # 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
79
               # See Note [residency] to get an accurate view.
80 81
             # 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
82
             # 2015-07-11 11670120 (amd64/Linux)
83
             # 2015-10-28 15017528 (amd64/Linux) emit typeable at definition site
Ben Gamari's avatar
Ben Gamari committed
84
             # 2016-10-12 17285216 (amd64/Linux) it's not entirely clear why
lukemaurer's avatar
lukemaurer committed
85
             # 2017-02-01 19924328 (amd64/Linux) Join points (#12988)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
86 87
             # 2017-02-14 16393848 Early inline patch

88
      compiler_stats_num_field('bytes allocated',
89
          [(platform('i386-unknown-mingw32'), 301784492, 5),
90 91
                                 #            215582916 (x86/Windows)
                                 # 2012-10-29 298921816 (x86/Windows)
92
                                 # 2013-02-10 310633884 (x86/Windows)
93
                                 # 2013-11-13 317975916 (x86/Windows, 64bit machine)
94
                                 # 2014-04-04 301784492 (x86/Windows, 64bit machine)
95
           (wordsize(32), 324586096, 1),
96 97 98 99
             #            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
100
             # 2014-01-22 316103268 (x86/Linux)
101
             # 2014-06-29 303300692 (x86/Linux)
102
             # 2015-07-11 288699104 (x86/Linux, 64-bit machine) use +RTS -G1
103
             # 2016-04-06 344730660 (x86/Linux, 64-bit machine)
104
             # 2017-03-24 324586096 (x86/Linux, 64-bit machine)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
105
           (wordsize(64), 695354904, 5)]),
Ben Gamari's avatar
Ben Gamari committed
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
             # 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
127
             # 2017-02-25 695354904 (x86_64/Linux) Early inlining patch
128
      only_ways(['normal']),
129

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

      # Use `+RTS -G1` for more stable residency measurements. Note [residency].
135
      extra_hc_opts('+RTS -G1 -RTS')
Simon Marlow's avatar
Simon Marlow committed
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
      ],
     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',
153
     [
Simon Marlow's avatar
Simon Marlow committed
154
      compiler_stats_num_field('max_bytes_used', # Note [residency]
155
          [(wordsize(32), 28686588, 15),
156 157 158 159
             #            17725476 (x86/OS X)
             #            14593500 (Windows)
             # 2013-02-10 20651576 (x86/Windows)
             # 2013-02-10 20772984 (x86/OSX)
160
             # 2013-11-13 24009436 (x86/Windows, 64bit machine)
161
             # 2014-04-24 19882188 (x86/Windows, 64bit machine)
162
             # 2014-12-22 26525384 (x86/Windows) Increase due to silent superclasses?
163
             # 2015-07-11 43196344 (x86/Linux, 64-bit machine) use +RTS -G1
164
             # 2016-04-06 28686588 (x86/Linux, 64-bit machine)
165

Ben Gamari's avatar
Ben Gamari committed
166
           (wordsize(64), 63131248, 20)]),
167 168 169 170 171 172 173 174 175
             # 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)
176 177
             # 2014-07-14:     36670800  (amd64/Linux)
             #  (reason unknown, setting expected value somewhere in between)
178 179
             # 2015-01-22:     45000000  (amd64/Linux)
             #  varies between 40959592 and 52914488... increasing to +-20%
180 181
             # 2015-10-28:     50367248  (amd64/Linux)
             #  D757: emit Typeable instances at site of type definition
thomie's avatar
thomie committed
182 183
             # 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
184
             # 2017-02-17:     63131248  (amd64/Linux) Type indexed Typeable
185

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

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

Simon Peyton Jones's avatar
Simon Peyton Jones committed
216
test('T4801',
217 218
     [ # expect_broken(5224),
       # temporarily unbroken (#5227)
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
###################################
# 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
237

238
      compiler_stats_num_field('bytes allocated',
239 240 241
          [(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
242

243
           (wordsize(32), 199856388, 10),
Austin Seipp's avatar
Austin Seipp committed
244 245
           # prev:        185669232 (x86/OSX)
           # 2014-01-22:  211198056 (x86/Linux)
246
           # 2014-09-03:  185242032 (Windows laptop)
247
           # 2014-12-01:  203962148 (Windows laptop)
248
           # 2016-04-06:  239556572 (x86/Linux)
249
           # 2017-03-24:  199856388 (x86/Linux)
250
           (wordsize(64), 388898280, 10)]),
251 252 253
            # 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
254
            # 2014-04-08: 362939272 (amd64/Linux) cumulation of various smaller improvements over recent commits
Joachim Breitner's avatar
Joachim Breitner committed
255
            # 2014-10-08: 382056344 (amd64/Linux) stricter foldr2 488e95b
256
            # 2015-10-28: 434278248 (amd64/Linux) emit Typeable at definition site
257
            # 2016-10-19: 388898280 (amd64/Linux) Refactor traceRn interface (#12617)
Simon Marlow's avatar
Simon Marlow committed
258

259
###################################
260
# deactivated for now, as this metric became too volatile recently
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
#
#     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)
283
       only_ways(['normal']),
284 285 286
       extra_hc_opts('-static'),

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

Ian Lynagh's avatar
Ian Lynagh committed
292
test('T3064',
293
     [compiler_stats_num_field('peak_megabytes_allocated',# Note [residency]
294
          [(wordsize(32), 28, 20),
295 296
            # expected value: 14 (x86/Linux 28-06-2012):
            # 2013-11-13:     18 (x86/Windows, 64bit machine)
Austin Seipp's avatar
Austin Seipp committed
297
            # 2014-01-22:     23 (x86/Linux)
298
            # 2014-12-22:     23 (x86/Linux) death to silent superclasses
299 300
            # 2015-07-11:     28 (x86/Linux, 64-bit machine) use +RTS -G1

301
           (wordsize(64), 66, 20)]),
302 303
            # (amd64/Linux):            18
            # (amd64/Linux) 2012-02-07: 26
304
            # (amd64/Linux) 2013-02-12: 23; increased range to 10%
305
            # (amd64/Linux) 2013-04-03: 26
Austin Seipp's avatar
Austin Seipp committed
306
            # (amd64/Linux) 2013-09-11: 30; result of AMP patch
307
            # Increased range to 20%.  peak-usage varies from 22 to 26,
308
            #  depending on whether the old .hi file exists
309
            # (amd64/Linux) 2013-09-11: 37; better arity analysis (weird)
310
            # (amd64/Linux) (09/09/2014): 42, AMP changes (larger interfaces, more loading)
311
            # (amd64/Linux) 2014-10-13: 38: Stricter seqDmdType
312
            # (amd64/Linux) 2014-12-22: 27: death to silent superclasses
313
            # (amd64/Linux) 2015-01-22: 32: Varies from 30 to 34, at least here.
314
            # (amd64/Linux) 2015-06-03: 54: use +RTS -G1
315
            # (amd64/Linux) 2016-10-25: 66: Presumably creep
316

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

Simon Peyton Jones's avatar
Simon Peyton Jones committed
328
           (wordsize(64), 259815560, 5)]),
329 330 331 332 333 334 335 336
            # (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
337
            # (amd64/Linux) (2014-07-17): 332702112, general round of updates
338
            # (amd64/Linux) (2014-08-29): 313638592, w/w for INLINABLE things
339 340 341 342 343
            # (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
344
            #                                        much less code for Monad instances
345
            # (amd64/Linux) (2015-12-01): 264952256, Regression due to Simon's wildcard refactor
346
            #                                        Tracked as #11151.
347
            # (amd64/Linux) (2015-12-11): 304344936, Regression due to TypeInType
348
            #                                        Tracked as #11196
349
            # (amd64/Linux) (2016-04-15): 287460128  Improvement due to using coercionKind instead
350
            #                                        of zonkTcType (Trac #11882)
351
            # (amd64/Darwin) (2017-01-23): 306222424 Presumably creep from recent changes (Typeable?)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
352
            # (amd64/Linux) (2017-02-14): 259815560  Early inline patch: 9% improvement
353

354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377
###################################
# 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
378

379 380 381
       only_ways(['normal']),

       # Use `+RTS -G1` for more stable residency measurements. Note [residency].
382
       extra_hc_opts('+RTS -G1 -RTS')
Ian Lynagh's avatar
Ian Lynagh committed
383 384 385 386
      ],
     compile,
     [''])

Ian Lynagh's avatar
Ian Lynagh committed
387 388 389 390 391
test('T4007',
     normal,
     run_command,
     ['$MAKE -s --no-print-directory T4007'])

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

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

425 426 427
       only_ways(['normal'])
      ],
     compile,
428
     ['-freduction-depth=300'])
429

Simon Peyton Jones's avatar
Simon Peyton Jones committed
430
test('T5631',
431
     [compiler_stats_num_field('bytes allocated',
432
          [(wordsize(32), 570137436, 10),
433
        # expected value: 392904228 (x86/Linux)
434
        # 2014-04-04:     346389856 (x86 Windows, 64 bit machine)
435
        # 2014-12-01:     390199244 (Windows laptop)
436
        # 2016-04-06:     570137436 (amd64/Linux) many reasons
Ben Gamari's avatar
Ben Gamari committed
437
           (wordsize(64), 1065147968, 5)]),
438
        # expected value: 774595008 (amd64/Linux):
439
        # expected value: 735486328 (amd64/Linux) 2012/12/12:
440
        # expected value: 690742040 (amd64/Linux) Call Arity improvements
441
        # 2014-09-09:     739704712 (amd64/Linux) AMP changes
442
        # 2014-11-04:     776121120 (amd64/Linux) new-flatten-skolems
443
        # 2015-06-01:     812288344 (amd64/Linux) unknown cause
444 445 446
        # 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
447
        # 2016-10-19:     1024926024 (amd64/Linux) Refactor traceRn interface (#12617)
448
        # 2016-11-10:     1077429456 (amd64/Linux) Stop -dno-debug-output suppressing -ddump-tc-trace
Ben Gamari's avatar
Ben Gamari committed
449
        # 2017-02-17:     1517484488 (amd64/Linux) Type-indexed Typeable
Ben Gamari's avatar
Ben Gamari committed
450
        # 2017-03-03:     1065147968 (amd64/Linux) Share Typeable KindReps
Simon Peyton Jones's avatar
Simon Peyton Jones committed
451 452 453 454 455
       only_ways(['normal'])
      ],
     compile,
     [''])

456
test('parsing001',
457
     [compiler_stats_num_field('bytes allocated',
458 459 460
          [(wordsize(32), 232777056, 10),
        # Initial:        274000576
        # 2017-03-24:     232777056
Simon Peyton Jones's avatar
Simon Peyton Jones committed
461
           (wordsize(64), 463931280, 5)]),
462
        # expected value: 587079016 (amd64/Linux)
463
        # 2016-09-01:     581551384 (amd64/Linux) Restore w/w limit (#11565)
lukemaurer's avatar
lukemaurer committed
464
        # 2016-12-19:     493730288 (amd64/Linux) Join points (#12988)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
465
        # 2017-02-14:     463931280 Early inlining patch; acutal improvement 7%
466 467 468 469 470
       only_ways(['normal']),
      ],
     compile_fail, [''])


471 472 473
test('T783',
     [ only_ways(['normal']),  # no optimisation for this one
      # expected value: 175,569,928 (x86/Linux)
474
      compiler_stats_num_field('bytes allocated',
475
          [(wordsize(32), 225911912, 5),
476
            # 2012-10-08: 226907420 (x86/Linux)
477 478
            # 2013-02-10: 329202116 (x86/Windows)
            # 2013-02-10: 338465200 (x86/OSX)
479
            # 2014-04-04: 319179104 (x86 Windows, 64 bit machine)
480 481
            # 2014-09-03: 223377364 (Windows) better specialisation, raft of core-to-core optimisations
            # 2014-12-22: 235002220 (Windows) not sure why
482
            # 2016-04-06: 249332816 (x86/Linux, 64-bit machine)
483
            # 2017-03-24: 225911912 (x86/Linux, 64-bit machine)
484

Simon Peyton Jones's avatar
Simon Peyton Jones committed
485
           (wordsize(64), 436978192, 10)]),
486 487 488 489 490 491
            # 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)
492 493
            # 18/10/2013: 734038080 (amd64/Linux)
            #   (fix for #8456)
494 495
            # 24/10/2013: 654804144 (amd64/Linux)
            #   (fix previous fix for #8456)
496 497
            # 2014-07-17: 640031840 (amd64/Linux)
            #   (general round of updates)
498
            # 2014-08-29: 441932632 (amd64/Linux)
499
            #   (better specialisation, raft of core-to-core optimisations)
500 501 502 503 504 505 506 507 508 509
            # 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
510 511
            # 2015-12-04: 1134085384 (amd64/Linux)
            #    (D1535: Major overhaul of pattern match checker, #11162)
512 513
            # 2016-02-03: 488592288 (amd64/Linux)
            #    (D1795: Another overhaul of pattern match checker, #11374)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
514 515
            # 2017-02-14    436978192    Early inlining: 5% improvement

516
      extra_hc_opts('-static')
517 518
      ],
      compile,[''])
519 520 521

test('T5321Fun',
     [ only_ways(['normal']),  # no optimisation for this one
522
       compiler_stats_num_field('bytes allocated',
523
           [(wordsize(32), 244387620, 10),
524 525 526
             # prev:       300000000
             # 2012-10-08: 344416344 x86/Linux
             #  (increase due to new codegen)
527
             # 2014-09-03: 299656164     (specialisation and inlining)
528
             # 2014-12-10: 206406188     #  Improvements in constraint solver
529
             # 2016-04-06: 279922360 x86/Linux
530 531
             # 2017-03-24: 244387620 x86/Linux (64-bit machine)

Simon Peyton Jones's avatar
Simon Peyton Jones committed
532
            (wordsize(64), 488295304, 5)])
533
             # prev:       585521080
534 535 536 537 538 539 540 541 542
             # 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
543 544
             #  (undefined now takes an implicit parameter and GHC -O0 does
             #  not recognize that the application is bottom)
545 546
             # 2015-12-11: 565883176     #  TypeInType (see #11196)
             # 2017-01-06: 497356688     #  Small coercion optimisations
547 548
                                         #  The actual decrease was only 2%; earlier
                                         #    commits had drifted down
549
             # 2017-01-22: 525895608     #  Allow top-level string literals in Core. I'm not
550 551 552 553 554
                                         #    convinced that this patch is
                                         #    responsible for all of this
                                         #    change, however. Namely I am
                                         #    quite skeptical of the downward
                                         #    "drift" reported above
555 556
             # 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
557
             # 2017-02-25: 488295304     #  Early inlining patch
558 559 560 561 562
      ],
      compile,[''])

test('T5321FD',
     [ only_ways(['normal']),  # no optimisation for this one
563
      compiler_stats_num_field('bytes allocated',
564
          [(wordsize(32), 250757460, 10),
565 566 567
            # prev:       213380256
            # 2012-10-08: 240302920 (x86/Linux)
            #  (increase due to new codegen)
568 569
            # 2014-07-31: 211699816 (Windows) (-11%)
            #  (due to better optCoercion, 5e7406d9, #9233)
570
            # 2016-04-06: 250757460 (x86/Linux)
571

572
           (wordsize(64), 477840432, 10)])
573 574 575
            # prev:       418306336
            # 29/08/2012: 492905640
            #  (increase due to new codegen)
576
            # 15/05/2013: 406039584
577
            #  (reason for decrease unknown)
578
            # 08/06/2013: 476497048
579
            #  (reason for increase unknown)
580 581 582 583
            # 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)
584 585
            # 2014-10-08  410895536
            #  (various changes; biggest improvements due to 949ad67 and FastString package ids)
586 587 588
            # 2015-08-10: 470895536
            #  (undefined now takes an implicit parameter and GHC -O0 does
            #  not recognize that the application is bottom)
589 590
            # 2015-10-28: 532365376
            #  D757: emit Typeable instances at site of type definition
591 592
            # 2016-07-16: 477840432
            #  Optimize handling of built-in OccNames
593 594
      ],
      compile,[''])
Ian Lynagh's avatar
Ian Lynagh committed
595 596 597

test('T5642',
     [ only_ways(['normal']),
Ben Gamari's avatar
Ben Gamari committed
598
       normal,
599
       compiler_stats_num_field('bytes allocated',
600
           [(wordsize(32), 413517560, 10),
601
                     # sample from x86/Linux
Gabor Greif's avatar
Typos  
Gabor Greif committed
602
            # prev:        650000000
603
            # 2014-09-03:  753045568
604
            # 2014-12-10:  641085256 Improvements in constraints solver
605
            # 2016-04-06:  462677300
606
            # 2017-03-24:  413517560 (x86/Linux, 64-bit machine)
607

608
            (wordsize(64),  838316496, 10)])
609 610
            # prev:        1300000000
            # 2014-07-17:  1358833928 (general round of updates)
611
            # 2014-08-07:  1402242360 (caused by 1fc60ea)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
612
# Watch out for:
Joachim Breitner's avatar
Joachim Breitner committed
613 614 615 616 617
            # 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
618
            # 2014-12-10:  1282916024 Improvements in constraints solver
619
            # 2015-10-28:  1412808976 Emit Typeable at definition site
620
            # 2015-11-22:  1071915072 Use TypeLits in the metadata encoding
621
            # 2016-02-08:   950004816 Pattern match checker re-rework
Ryan Scott's avatar
Ryan Scott committed
622
            # 2016-05-12:  1300685592 Make Generic1 poly-kinded
623
            # 2016-06-05:   916484672 Refactor derived Generic instances to reduce allocations
624
            # 2016-09-03:   838316496 Derive the Generic instance in perf/compiler/T5642
Ian Lynagh's avatar
Ian Lynagh committed
625 626
      ],
      compile,['-O'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
627 628 629

test('T5837',
     [ only_ways(['normal']),
630
      compiler_stats_num_field('bytes allocated',
631
          [(wordsize(32), 27028956, 10),
632
             # 40000000 (x86/Linux)
633 634
             # 2013-11-13:  45520936 (x86/Windows, 64bit machine)
             # 2014-09-03:  37096484 (Windows laptop, w/w for INLINABLE things
635
             # 2014-12-01: 135914136 (Windows laptop, regression see below)
636 637
             # 2014-12-08: 115905208  Constraint solver perf improvements (esp kick-out)
             # 2016-04-06: 24199320  (x86/Linux, 64-bit machine) TypeInType
638
             # 2017-03-24: 27028956  (x86/Linux, 64-bit machine)
639

640 641 642
           (platform('x86_64-unknown-mingw32'), 59161648, 7),
             # 2017-02-19                        59161648 (x64/Windows) - Unknown

Simon Peyton Jones's avatar
Simon Peyton Jones committed
643
           (wordsize(64), 52625920, 7)])
644
             # sample: 3926235424 (amd64/Linux, 15/2/2012)
645 646
             # 2012-10-02 81879216
             # 2012-09-20 87254264 amd64/Linux
647
             # 2013-09-18 90587232 amd64/Linux
Austin Seipp's avatar
Austin Seipp committed
648 649
             # 2013-11-21 86795752 amd64/Linux, GND via Coercible and counters
             #                                  for constraints solving
650 651
             # 2014-08-29 73639840 amd64/Linux, w/w for INLINABLE things
             # 2014-10-08 73639840 amd64/Linux, Burning Bridges and other small changes
652
             # 2014-11-06 271028976       Linux, Accept big regression;
653
             #   See Note [An alternative story for the inert substitution] in TcFlatten
654
             # 2014-12-08 234790312 Constraint solver perf improvements (esp kick-out)
655 656
             # 2014-12-16 231155640 Mac  Flattener parameterized over roles;
             #                           some optimization
657
             # 2015-03-17 53424304  Mac  Better depth checking; fails earlier
658
             # 2015-06-09 38834096  Better "improvement"; I'm not sure whey it improves things
659 660 661
             # 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
662
             # 2016-09-15 42445672  Linux; fixing #12422
663
             # 2016-09-25 41832056  amd64/Linux, Rework handling of names (D2469)
664 665 666
             # 2016-10-25 52597024  amd64/Linux, the test now passes (hooray), and so
             #                          allocates more because it goes right down the
             #                          compilation pipeline
667 668
             # 2017-01-24 57861352  amd64/Linux, very likely due to the top-level strings
             #                          in Core patch.
669 670 671 672
             # 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
673 674 675
             # 2017-02-07 53592736  amd64/Linux Simon's earlier decrease appears
             #                      to be environmentally-dependent.
             #                      Also bumped acceptance threshold to 7%.
676
             # 2017-02-20 58648600  amd64/Linux Type-indexed Typeable
677
             # 2017-02-28 54151864  amd64/Linux Likely drift due to recent simplifier improvements
Simon Peyton Jones's avatar
Simon Peyton Jones committed
678
             # 2017-02-25 52625920  amd64/Linux Early inlining patch
Simon Peyton Jones's avatar
Simon Peyton Jones committed
679
      ],
680
      compile, ['-freduction-depth=50'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
681 682 683

test('T6048',
     [ only_ways(['optasm']),
684
      compiler_stats_num_field('bytes allocated',
685
          [(wordsize(32), 55701280, 10),
686 687
            # prev:       38000000 (x86/Linux)
            # 2012-10-08: 48887164 (x86/Linux)
688
            # 2014-04-04: 62618072 (x86 Windows, 64 bit machine)
689
            # 2014-09-03: 56315812 (x86 Windows, w/w for INLINABLE)
690
            # 2014-12-01: 49987836 (x86 Windows)
691
            # 2016-04-06: 55701280 (x86/Linux, 64-bit machine)
692

Ben Gamari's avatar
Ben Gamari committed
693 694 695 696 697 698 699 700 701 702 703 704 705
           (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
706 707
      ],
      compile,[''])
708 709 710 711

test('T9020',
     [ only_ways(['optasm']),
      compiler_stats_num_field('bytes allocated',
712
          [(wordsize(32), 249904136, 10),
713 714
           # Original:    381360728
           # 2014-07-31:  343005716 (Windows) (general round of updates)
715
           # 2017-03-24:  249904136 (x86/Linux, 64-bit machine)
Simon Peyton Jones's avatar
Simon Peyton Jones committed
716
           (wordsize(64), 500707080, 10)])
717 718
           # prev:        795469104
           # 2014-07-17:  728263536 (general round of updates)
Joachim Breitner's avatar
Joachim Breitner committed
719
           # 2014-09-10:  785871680 post-AMP-cleanup
David Feuer's avatar
David Feuer committed
720
           # 2014-11-03:  680162056 Further Applicative and Monad adjustments
721
           # 2015-10-21:  786189008 Make stronglyConnCompFromEdgedVertices deterministic
722
           # 2016-01-26:  698401736 improvement from using ExpTypes instead of ReturnTvs
723
           # 2016-04-06:  852298336 Refactoring of CSE #11781
724
           # 2016-04-06:  698401736 Use thenIO in Applicative IO
725
           # 2017-02-03:  764866144 Join points
Simon Peyton Jones's avatar
Simon Peyton Jones committed
726 727
           # 2017-02-14:  500707080 Early inline patch; 35% decrease!
           #                        Program size collapses in first simplification
728 729
      ],
      compile,[''])
730 731 732

test('T9675',
     [ only_ways(['optasm']),
733
       compiler_stats_num_field('max_bytes_used', # Note [residency]
734
          [(wordsize(64), 38776008, 15),
735
          # 2014-10-13    29596552
736
          # 2014-10-13    26570896   seq the DmdEnv in seqDmdType as well
737
          # 2014-10-13    18582472   different machines giving different results..
738
          # 2014-10-13    22220552   use the mean
739
          # 2015-06-21    28056344   switch to `+RTS -G1`, tighten bound to 15%
740
          # 2015-10-28    23776640   emit Typeable at definition site
741
          # 2015-12-11    30837312   TypeInType (see #11196)
742
          # 2016-04-14    38776008   Final demand analyzer run
743 744 745
           (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)
746
          ]),
747
       compiler_stats_num_field('peak_megabytes_allocated', # Note [residency]
Simon Marlow's avatar
Simon Marlow committed
748
          [(wordsize(64), 121, 15),
749
          # 2014-10-13    66
750
          # 2014-10-13    58         seq the DmdEnv in seqDmdType as well
751
          # 2014-10-13    49         different machines giving different results...
752
          # 2014-10-13    53         use the mean
753 754
          # 2015-06-15    44         reduced for some reason
          # 2015-06-21    105        switch to `+RTS -G1`
755
          # 2015-12-04    88         new pattern checker (D1535)
756
          # 2015-12-11    113        TypeInType (see #11196)
757
          # 2016-04-14    144        Final demand analyzer run
Simon Marlow's avatar
Simon Marlow committed
758
          # 2016-07-26    121        Unboxed sums?
759
            (wordsize(32), 56, 15)
760
          # 2015-07-11    56         (x86/Linux, 64-bit machine) use +RTS -G1
761 762
          ]),
       compiler_stats_num_field('bytes allocated',
763
          [(wordsize(64), 656137960, 10)
764
          # 2014-10-13    544489040
765
          # 2015-10-28    608284152  emit Typeable at definition site
Ben Gamari's avatar
Ben Gamari committed
766
          # 2017-02-17    731171072  Type-indexed Typeable
767 768
          # 2017-03-13    656137960  Put join ceiling underneath lambdas?

769
          ,(wordsize(32), 322901484, 10)
770
          # 2015-07-11    279480696  (x86/Linux, 64-bit machine) use +RTS -G1
771 772
          # 2017-03-24    322901484  (x86/Linux, 64-bit machine)

773
          ]),
774 775

       # Use `+RTS -G1` for more stable residency measurements. Note [residency].
776
       extra_hc_opts('+RTS -G1 -RTS')
777 778 779
      ],
     compile,
     [''])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
780 781 782 783

test('T9872a',
     [ only_ways(['normal']),
       compiler_stats_num_field('bytes allocated',