[GHC] #15304: Huge increase of compile time and memory use from 8.0.2 to 8.2.2 or 8.4.2
GHC
ghc-devs at haskell.org
Thu Jul 12 14:52:21 UTC 2018
#15304: Huge increase of compile time and memory use from 8.0.2 to 8.2.2 or 8.4.2
-------------------------------------+-------------------------------------
Reporter: NathanWaivio | Owner: tdammers
Type: bug | Status: new
Priority: high | Milestone: 8.6.1
Component: Compiler | Version: 8.4.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: x86_64
Type of failure: Compile-time | (amd64)
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by tdammers):
OK, next experiment: compile with `-fno-specialise`, and diff `-ddump-
simpl-stats` output (minus the PreInline and PostInline parts). Which
gives us:
{{{#!diff
--- stats-8.0.2/Cl3.dump-simpl-stats 2018-07-12 16:25:23.219578828
+0200
+++ stats-8.4.3/Cl3.dump-simpl-stats 2018-07-12 16:42:41.644219237
+0200
@@ -1,74 +1,78 @@
==================== FloatOut stats: ====================
-2018-07-12 13:46:13.85196043 UTC
+2018-07-12 14:25:41.716397419 UTC
-140 Lets floated to top level; 0 Lets floated elsewhere; from 35 Lambda
groups
+131 Lets floated to top level; 0 Lets floated elsewhere; from 22 Lambda
groups
==================== FloatOut stats: ====================
-2018-07-12 13:46:17.767931325 UTC
+2018-07-12 14:26:18.231633767 UTC
-24 Lets floated to top level; 0 Lets floated elsewhere; from 42 Lambda
groups
+1 Lets floated to top level; 0 Lets floated elsewhere; from 25 Lambda
groups
==================== Grand total simplifier statistics
====================
-2018-07-12 13:46:19.653844196 UTC
+2018-07-12 14:26:39.421166819 UTC
-Total ticks: 44196
+Total ticks: 91304
-6609 UnfoldingDone
- 1681 GHC.Float.$fNumDouble_$c*
+5077 UnfoldingDone
1681 GHC.Float.timesDouble
- 729 GHC.Float.$fNumDouble_$c+
729 GHC.Float.plusDouble
- 415 GHC.Float.$fNumDouble_$c-
415 GHC.Float.minusDouble
+ 177 $j_s6gs
+ 177 $j_s6kx
137 Algebra.Geometric.Cl3.$WAPS
+ 132 $j_s6gn
+ 132 $j_s6gq
+ 132 $j_s6ks
+ 132 $j_s6kv
+ 121 $j_s6cS
+ 121 $j_s6gX
+ 110 $j_s6PQ
+ 110 $j_s71Q
102 GHC.Base.$
- 102 GHC.Float.$fNumDouble_$cnegate
102 GHC.Float.negateDouble
- 62 $j_s5Li
- 62 $j_s5LN
+ 44 $j_s6gm
+ 44 $j_s6gr
+ 44 $j_s6kr
+ 44 $j_s6kw
+ 25 Algebra.Geometric.Cl3.$WR
+ 22 $j_s6gi
+ 22 $j_s6go
+ 22 $j_s6kn
+ 22 $j_s6kt
19 Algebra.Geometric.Cl3.$WH
19 Algebra.Geometric.Cl3.$WODD
- 17 Algebra.Geometric.Cl3.$WR
17 Algebra.Geometric.Cl3.$WBPV
- 15 $c/_a1Af
- 14 GHC.Float.$fFloatingDouble_$csqrt
+ 17 $j_s6cc
14 GHC.Float.sqrtDouble
14 Algebra.Geometric.Cl3.$WC
- 12 $j_s5Le
- 12 $j_s5Lg
- 12 $j_s5LJ
- 12 $j_s5LL
11 Algebra.Geometric.Cl3.$WPV
11 Algebra.Geometric.Cl3.$WTPV
- 10 $j_s5Lf
- 10 $j_s5LK
- 9 $cfromInteger_a3eU
- 8 $c*_a1He
- 7 $c+_a1Az
- 6 $clog1p_a1zz
- 6 $s$clog_s614
- 5 $cnegate_a36c
+ 8 $c*_a2h6
+ 8 GHC.Float.$fNumDouble_$cfromInteger
+ 7 $cfromInteger_a3OM
+ 7 $j_s6gp
+ 7 $j_s6ku
+ 6 $c/_a2ad
+ 6 $c+_a2at
5 Algebra.Geometric.Cl3.$WV3
5 Algebra.Geometric.Cl3.$WBV
- 5 lvl_s5VO
- 5 lvl_s5VP
- 4 $c-_a1H7
- 4 GHC.Float.$fNumDouble_$cabs
- 4 $j_s5Lb
- 4 $j_s5Lc
- 4 $j_s5Ld
- 4 $j_s5Lh
- 4 $j_s5LG
- 4 $j_s5LH
- 4 $j_s5LI
- 4 $j_s5LM
- 3 $c**_a1yF
+ 4 $clog1p_a29F
+ 4 $cnegate_a3G4
+ 4 GHC.Float.fabsDouble
+ 4 $j_s6c8
+ 4 $j_s6ca
+ 4 $j_s6gj
+ 4 $j_s6gk
+ 4 $j_s6ko
+ 4 $j_s6kp
+ 3 Algebra.Geometric.Cl3.projEigs
3 Algebra.Geometric.Cl3.$WI
- 3 $j_s5J8
- 3 $j_s5Jo
+ 2 $c**_a28T
+ 2 $crecip_a2ak
+ 2 $c-_a2h1
2 GHC.Base.$!
2 GHC.Float.$dm**
2 GHC.Float.$dmexpm1
@@ -82,318 +86,359 @@
2 GHC.Real.$dm/
2 GHC.Real.$dmrecip
2 GHC.Num.$dm-
+ 2 Algebra.Geometric.Cl3.spectraldcmp
2 Algebra.Geometric.Cl3.reduce
- 2 $dNum_s5Id
- 2 $dNum_s5It
- 2 lvl_s5VK
- 1 $cabs_a36g
- 1 GHC.Float.$fRealFloatDouble_$catan2
- 1 GHC.Float.$fNumDouble_$cfromInteger
- 1 GHC.Float.$fFractionalDouble_$crecip
- 1 GHC.Float.$fFloatingDouble_$ccos
- 1 GHC.Float.$fFloatingDouble_$csin
- 1 GHC.Float.$fFloatingDouble_$clog
- 1 GHC.Float.$fFloatingDouble_$cexp
- 1 GHC.Float.sinDouble
- 1 GHC.Float.logDouble
- 1 GHC.Float.expDouble
+ 2 $j_s6gl
+ 2 $j_s6kq
+ 1 $cabs_a3G8
1 GHC.Float.cosDouble
- 1 Algebra.Geometric.Cl3.projEigs
- 1 $s$dmlog1pexp_s5Ge
- 1 lvl_s5I8
- 1 lvl_s5I9
- 1 $dFractional_s5Ib
- 1 lvl_s5Ik
- 1 lvl_s5Il
- 1 lvl_s5Im
- 1 lvl_s5In
- 1 lvl_s5Io
- 1 lvl_s5Ip
- 1 $dFractional_s5Ir
- 1 lvl_s5Iw
- 1 lvl_s5W0
-3337 RuleFired
- 1695 Class op *
- 737 Class op +
- 419 Class op -
- 127 *##
- 109 Class op negate
+ 1 GHC.Float.expDouble
+ 1 GHC.Float.logDouble
+ 1 GHC.Float.sinDouble
+ 1 GHC.Float.$fFractionalDouble_$crecip
+ 1 GHC.Float.$fRealFloatDouble_$catan2
+ 1 lvl_s6br
+ 1 lvl_s6bs
+ 1 lvl_s6bu
+ 1 lvl_s6bv
+ 1 lvl_s6bx
+ 1 $j_s6c9
+ 1 lvl_s7OD
+ 1 lvl_s7OE
+3532 RuleFired
+ 1691 Class op *
+ 734 Class op +
+ 417 Class op -
+ 372 +##
+ 106 Class op negate
55 ^2/Integer
- 26 +##
- 25 Class op $p1Floating
- 20 Class op $p1Fractional
- 15 Class op /
- 14 Class op exp
- 14 Class op log
+ 44 *##
+ 16 Class op $p1Floating
14 Class op sqrt
- 13 Class op fromInteger
- 9 doubleFromInteger
- 6 Class op log1p
- 6 SC:$clog0
+ 12 Class op $p1Fractional
+ 10 Class op exp
+ 10 Class op log
+ 8 Class op /
+ 8 Class op fromInteger
+ 7 doubleFromInteger
5 Class op abs
- 4 Class op cos
- 4 Class op fromRational
- 4 Class op recip
- 4 Class op sin
- 3 Class op **
- 3 Class op cosh
- 3 Class op sinh
+ 4 Class op log1p
+ 3 Class op cos
+ 3 Class op recip
+ 3 Class op sin
+ 2 Class op **
+ 2 Class op cosh
+ 2 Class op fromRational
+ 2 Class op sinh
1 Class op atan2
1 Class op pi
- 1 SC:$w$catan20
-25 LetFloatFromLet 25
-1 EtaReduction 1 x_a5bv
-9652 BetaReduction
- 1681 ds_a5IW
- 1681 ds1_a5IX
- 729 ds_a5IM
- 729 ds1_a5IN
- 415 ds_a5Jb
- 415 ds1_a5Jc
- 137 dt_a1fe
- 137 dt_a1ff
- 137 dt_a1fg
- 137 dt_a1fh
- 137 dt_a1fi
- 137 dt_a1fj
- 137 dt_a1fk
- 137 dt_a1fl
- 124 dt_d5iD
- 124 dt_d5iE
- 124 dt_d5iF
- 124 dt_d5iG
- 124 dt_d5iH
- 124 dt_d5iI
- 124 dt_d5iJ
- 124 dt_d5iK
- 102 a_12
- 102 b_13
- 102 r_1j
- 102 tpl_B1
- 102 tpl_B2
- 102 ds_a5JB
- 55 a_a5nS
- 55 $dNum_a5nT
- 55 $dIntegral_a5nU
- 55 x_a5nV
- 24 dt_d5iP
- 24 dt_d5iQ
- 24 dt_d5iR
- 24 dt_d5iS
- 24 dt_d5j1
- 24 dt_d5j2
- 24 dt_d5j3
- 24 dt_d5j4
- 20 dt_d5iT
- 20 dt_d5iU
- 20 dt_d5iV
- 20 dt_d5iW
- 20 dt_d5iX
- 20 dt_d5iY
- 19 dt_a1eq
- 19 dt_a1er
- 19 dt_a1es
- 19 dt_a1et
- 19 dt_a1eU
- 19 dt_a1eV
- 19 dt_a1eW
- 19 dt_a1eX
- 17 dt_a1dS
- 17 dt_a1eG
- 17 dt_a1eH
- 17 dt_a1eI
- 17 dt_a1eJ
- 17 dt_a1eK
- 17 dt_a1eL
- 16 eta_a53E
- 16 eta1_a53F
- 14 dt_a1eA
- 14 dt_a1eB
- 14 ds_a5IH
- 12 sc_s60u
- 12 sc_s60v
- 11 dt_a1eg
- 11 dt_a1eh
- 11 dt_a1ei
- 11 dt_a1ej
- 11 dt_a1f4
- 11 dt_a1f5
- 11 dt_a1f6
- 11 dt_a1f7
- 9 int_a1bM
- 8 ds_d4ON
- 8 ds_d4OO
- 8 dt_d5iL
- 8 dt_d5iM
- 8 dt_d5iN
- 8 dt_d5iO
- 8 dt_d5j5
- 8 dt_d5j6
- 8 dt_d5j7
- 8 dt_d5j8
- 8 dt_d5ja
- 8 dt_d5jb
- 8 dt_d5jc
- 8 dt_d5jd
- 8 dt_d5je
- 8 dt_d5jf
- 7 eta_a53o
- 7 ds_d4CK
- 7 ds_d4CL
- 6 y_X5Nf
- 5 x_a1bN
- 5 dt_a1dW
- 5 dt_a1dX
- 5 dt_a1dY
- 5 dt_a1e4
- 5 dt_a1e5
- 5 dt_a1e6
- 5 x_a5bv
- 5 y_a5bw
- 4 eta_a53a
- 4 eta1_a53b
- 4 x_a5mY
- 3 dt_a1ec
- 2 cliffor_aIx
- 2 r_aIz
- 2 a_a533
- 2 $dFloating_a534
- 2 a_a538
- 2 $dFloating_a539
- 2 a_a53c
- 2 $dFloating_a53d
- 2 a_a53g
- 2 $dFloating_a53h
- 2 a_a53j
- 2 $dFloating_a53k
- 2 a_a53m
- 2 $dFloating_a53n
- 2 a_a53r
- 2 $dFloating_a53s
- 2 a_a53w
- 2 $dFloating_a53x
- 2 a_a53z
- 2 $dFloating_a53A
- 2 a_a53C
- 2 $dFractional_a53D
- 2 a_a53G
- 2 $dFractional_a53H
- 2 a_a5bt
- 2 $dNum_a5bu
- 2 a_a5mH
- 2 b_a5mI
- 2 f_a5mJ
- 2 x_a5mK
- 2 dt_d5et
- 2 dt_d5eu
- 1 eta_a535
- 1 eta_a53e
- 1 eta1_a53f
- 1 eta_a53i
- 1 eta_a53l
- 1 eta_a53t
- 1 x_a53y
- 1 eta_a53B
- 1 eta_a53I
- 1 i_a5mT
- 1 x_a5oJ
- 1 w_a5p8
- 1 w1_a5p9
- 1 ds_a5K6
- 1 ds_a5Kc
- 1 ds_a5Kh
- 1 ds_a5Kp
- 1 sc_a5PU
- 1 sc1_a5PV
- 1 ds_d4AC
- 1 ds_d4BO
- 1 ds_d4CI
- 1 ds_d50R
- 1 ds_d52M
- 1 w_s5RT
-9 CaseOfCase
- 2 wild_X9
- 2 wild_XV
- 2 dt_X1dU
- 2 wild1_a5J2
- 1 ww_s5RV
-7664 KnownBranch
- 1685 wild1_a5J2
- 1681 wild_a5IY
- 729 wild_a5IO
- 729 wild1_a5IS
- 415 wild_a5Jd
- 415 wild1_a5Jh
- 248 wild_X9
- 137 dt_X1fn
- 137 dt_X1fq
- 137 dt_X1ft
- 137 dt_X1fw
- 137 dt_X1fz
- 137 dt_X1fC
- 137 dt_X1fF
- 137 dt_X1fI
- 102 wild_a5JC
- 36 dt_X1eZ
- 36 dt_X1f2
- 25 wild_XV
- 21 dt_X1dU
- 19 dt_X1ev
- 19 dt_X1ey
- 19 dt_X1eB
- 19 dt_X1eE
- 19 dt_X1f5
- 19 dt_X1f8
- 19 ww_s5RV
- 17 dt_X1eN
- 17 dt_X1eQ
- 17 dt_X1eT
- 17 dt_X1eW
- 14 dt_X1eD
- 14 dt_X1eG
- 14 wild_a5II
- 12 wild_Xf
- 11 dt_X1el
- 11 dt_X1eo
- 11 dt_X1er
- 11 dt_X1eu
- 11 dt_X1f9
- 11 dt_X1fc
- 11 dt_X1ff
- 11 dt_X1fi
- 9 wild_a5mU
- 8 wild_Xg
- 8 dt_X1ee
- 6 wild_Xd
- 5 wild_Xb
- 5 wild_XW
- 5 dt_X1e0
- 5 dt_X1e3
- 5 dt_X1e6
- 5 dt_X1e8
- 5 dt_X1eb
- 4 wild_Xa
+687 LetFloatFromLet 687
+2 EtaReduction
+ 1 eta_B2
+ 1 x_a5TK
+14750 BetaReduction
+ 1681 ds_a65p
+ 1681 ds1_a65q
+ 729 ds_a64o
+ 729 ds1_a64p
+ 415 ds_a65z
+ 415 ds1_a65A
+ 354 dt_d5SW
+ 354 dt_d5SX
+ 354 dt_d5SY
+ 354 dt_d5SZ
+ 354 dt_d5T0
+ 354 dt_d5T1
+ 354 dt_d5T2
+ 354 dt_d5T3
+ 264 dt_d5Po
+ 264 dt_d5Pp
+ 264 dt_d5Pq
+ 264 dt_d5Pr
+ 264 dt_d5Rw
+ 264 dt_d5Rx
+ 264 dt_d5Ry
+ 264 dt_d5Rz
+ 242 vx_a63F
+ 226 ds_d5kP
+ 137 dt_a1Gh
+ 137 dt_a1Gi
+ 137 dt_a1Gj
+ 137 dt_a1Gk
+ 137 dt_a1Gl
+ 137 dt_a1Gm
+ 137 dt_a1Gn
+ 137 dt_a1Go
+ 102 a_11
+ 102 b_12
+ 102 r_1i
+ 102 v_B1
+ 102 v_B2
+ 102 ds_a65W
+ 88 dt_d5OG
+ 88 dt_d5OH
+ 88 dt_d5OI
+ 88 dt_d5OJ
+ 88 dt_d5Se
+ 88 dt_d5Sf
+ 88 dt_d5Sg
+ 88 dt_d5Sh
+ 55 a_a64W
+ 55 $dNum_a64X
+ 55 $dIntegral_a64Y
+ 55 x_a64Z
+ 44 dt_d5LY
+ 44 dt_d5Q6
+ 44 dt_d5Q7
+ 25 dt_a1EV
+ 19 dt_a1Ft
+ 19 dt_a1Fu
+ 19 dt_a1Fv
+ 19 dt_a1Fw
+ 19 dt_a1FX
+ 19 dt_a1FY
+ 19 dt_a1FZ
+ 19 dt_a1G0
+ 17 dt_a1FJ
+ 17 dt_a1FK
+ 17 dt_a1FL
+ 17 dt_a1FM
+ 17 dt_a1FN
+ 17 dt_a1FO
+ 17 dt_d5Uj
+ 17 dt_d5Uk
+ 17 dt_d5Ul
+ 17 dt_d5Um
+ 17 dt_d5Un
+ 17 dt_d5Uo
+ 17 dt_d5Up
+ 17 dt_d5Uq
+ 14 dt_a1FD
+ 14 dt_a1FE
+ 14 ds_a64j
+ 14 dt_d5QM
+ 14 dt_d5QN
+ 14 dt_d5QO
+ 14 dt_d5QP
+ 14 dt_d5QQ
+ 14 dt_d5QR
+ 11 dt_a1Fj
+ 11 dt_a1Fk
+ 11 dt_a1Fl
+ 11 dt_a1Fm
+ 11 dt_a1G7
+ 11 dt_a1G8
+ 11 dt_a1G9
+ 11 dt_a1Ga
+ 8 i_a63N
+ 8 ds_d5wR
+ 8 ds_d5wS
+ 8 dt_d5MD
+ 8 dt_d5ME
+ 8 dt_d5MF
+ 8 dt_d5Nk
+ 8 dt_d5Nl
+ 8 dt_d5Nm
+ 7 int_a1BT
+ 6 ds_d5kO
+ 6 w_s6Mj
+ 6 w_s6Mk
+ 5 dt_a1EZ
+ 5 dt_a1F0
+ 5 dt_a1F1
+ 5 dt_a1F7
+ 5 dt_a1F8
+ 5 dt_a1F9
+ 5 x_a5LB
+ 4 x_a1BU
+ 4 ds_a63S
+ 4 dt_d5O1
+ 4 dt_d5TZ
+ 4 dt_d5U0
+ 4 dt_d5U1
+ 4 dt_d5U2
+ 4 dt_d5Ub
+ 4 dt_d5Uc
+ 4 dt_d5Ud
+ 4 dt_d5Ue
+ 3 dt_a1Ff
+ 3 x_a5Li
+ 3 y_a5Lj
+ 3 x_a5LX
+ 3 w_s6Mz
+ 2 function_a1BV
+ 2 cliffor_a1BW
+ 2 r_a1C1
+ 2 a_a5L7
+ 2 $dFloating_a5L8
+ 2 a_a5Le
+ 2 $dFloating_a5Lf
+ 2 a_a5Lk
+ 2 $dFloating_a5Ll
+ 2 a_a5Lp
+ 2 $dFloating_a5Lq
+ 2 a_a5Lt
+ 2 $dFloating_a5Lu
+ 2 a_a5Lx
+ 2 $dFloating_a5Ly
+ 2 a_a5LC
+ 2 $dFloating_a5LD
+ 2 a_a5LH
+ 2 $dFloating_a5LI
+ 2 a_a5LK
+ 2 $dFloating_a5LL
+ 2 a_a5LP
+ 2 $dFractional_a5LQ
+ 2 a_a5LU
+ 2 $dFractional_a5LV
+ 2 a_a5TI
+ 2 $dNum_a5TJ
+ 2 a_a63B
+ 2 b_a63C
+ 2 f_a63D
+ 2 x_a63E
+ 1 x_a5La
+ 1 x_a5Ln
+ 1 y_a5Lo
+ 1 x_a5Ls
+ 1 x_a5Lw
+ 1 x_a5LG
+ 1 x_a5LJ
+ 1 x_a5LO
+ 1 x_a5LS
+ 1 y_a5LT
+ 1 x_a5TK
+ 1 y_a5TL
+ 1 x_a66T
+ 1 ds_a67a
+ 1 ds_a67g
+ 1 ds_a67l
+ 1 ds_a67s
+ 1 w_a67O
+ 1 w1_a67P
+ 1 dt_d5TO
+ 1 dt_d5TP
+ 1 dt_d5TQ
+ 1 dt_d5TR
+ 1 dt_d5TS
+ 1 dt_d5TT
+ 1 dt_d5TV
+ 1 dt_d5TW
+ 1 dt_d5TX
+ 1 dt_d5TY
+ 1 dt_d5U5
+ 1 dt_d5U6
+ 1 dt_d5U7
+ 1 dt_d5U8
+ 1 dt_d5U9
+ 1 dt_d5Ua
+ 1 dt_d5Uf
+ 1 dt_d5Ug
+ 1 dt_d5Uh
+ 1 dt_d5Ui
+ 1 dt_d5XU
+ 1 dt_d5XV
+ 1 w_s6M9
+7 CaseOfCase
+ 2 wild_X16
+ 2 vx_a63F
+ 1 wild_X9
+ 1 wild_X15
+ 1 ww_s6Mb
+13525 KnownBranch
+ 1681 wild_a65r
+ 1681 wild1_a65v
+ 1211 wild_Xo
+ 888 wild_Xf
+ 884 wild_Xg
+ 729 wild_a64q
+ 729 wild1_a64u
+ 565 wild_X9
+ 444 wild_Xd
+ 415 wild_a65B
+ 415 wild1_a65F
+ 266 wild_Xa
+ 242 wild_X1i
+ 242 vx_a63F
+ 223 wild_Xb
+ 223 wild_X16
+ 222 wild_Xj
+ 222 wild_Xn
+ 221 wild_Xc
+ 178 wild_Xe
+ 155 wild_Xk
+ 137 dt_X1Gq
+ 137 dt_X1Gt
+ 137 dt_X1Gw
+ 137 dt_X1Gz
+ 137 dt_X1GC
+ 137 dt_X1GF
+ 137 dt_X1GI
+ 137 dt_X1GL
+ 102 wild_a65X
+ 36 dt_X1G2
+ 36 dt_X1G5
+ 25 dt_X1EX
+ 19 dt_X1Fy
+ 19 dt_X1FB
+ 19 dt_X1FE
+ 19 dt_X1FH
+ 19 dt_X1G8
+ 19 dt_X1Gb
+ 17 dt_X1FQ
+ 17 dt_X1FT
+ 17 dt_X1FW
+ 17 dt_X1FZ
+ 14 dt_X1FG
+ 14 dt_X1FJ
+ 14 wild_a64k
+ 12 wild_X15
+ 11 dt_X1Fo
+ 11 dt_X1Fr
+ 11 dt_X1Fu
+ 11 dt_X1Fx
+ 11 dt_X1Gc
+ 11 dt_X1Gf
+ 11 dt_X1Gi
+ 11 dt_X1Gl
+ 11 ww_s6Mb
+ 8 dt_X1Fh
+ 7 wild_a63O
+ 5 dt_X1F3
+ 5 dt_X1F6
+ 5 dt_X1F9
+ 5 dt_X1Fb
+ 5 dt_X1Fe
+ 4 wild_X2i
+ 4 wild_a63T
+ 1 wild_X2a
+ 1 wild_a66U
+ 1 wild_a67b
+ 1 wild_a67h
+ 1 wild_a67m
+ 1 wild_a67t
+ 1 ww_a67Q
+ 1 ds_d5JX
+ 1 ww_s6MB
+ 1 ww_s6MH
+ 1 ww_s6Ne
+18 SimplifierDone 18
+76 AltMerge
+ 8 wild_X4B
+ 8 wild_X4C
+ 8 wild_X4E
+ 8 wild_X4F
+ 8 wild_X4G
+ 6 wild_X4D
4 wild_Xe
- 4 wild_a5mZ
- 3 wild_Xj
- 3 wild_Xn
+ 4 wild_Xg
+ 4 wild_X4H
+ 3 wild_X4x
+ 3 wild_X4y
+ 3 wild_X4I
+ 2 wild_Xa
2 wild_Xc
- 2 wild_Xk
- 2 wild_Xo
- 1 wild_X1C
- 1 wild_X1M
- 1 wild_X1O
- 1 wild_a5oK
- 1 ww_a5pa
- 1 wild_a5K7
- 1 wild_a5Kd
- 1 wild_a5Ki
- 1 wild_a5Kq
- 1 ds_d4AR
- 1 ds_d4AS
- 1 ds_d51T
- 1 ww_s5Sj
-2 CaseMerge 2 vx_a5mL
-1 CaseIdentity 1 wild_X9
-21 SimplifierDone 21
+ 2 wild_X4z
+ 2 wild_X4A
+ 1 wild_X4J
}}}
(Left / before / red: GHC 8.0.2; right / after / green: GHC 8.4.3).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15304#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list