• Alan Zimmerman's avatar
    TTG for HsBinds and Data instances Plan B · b1386942
    Alan Zimmerman authored
    Summary:
    - Add the balance of the TTG extensions for hsSyn/HsBinds
    
    - Move all the (now orphan) data instances into hsSyn/HsInstances and
    use TTG Data instances Plan B
    https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/Instances#PLANB
    
    Updates haddock submodule.
    
    Illustrative numbers
    
    Compiling HsInstances before using Plan B.
    
    Max residency ~ 5G
    <<ghc: 629,864,691,176 bytes, 5300 GCs,
           321075437/1087762592 avg/max bytes residency (23 samples),
           2953M in use, 0.000 INIT (0.000 elapsed),
           383.511 MUT (384.986 elapsed), 37.426 GC (37.444 elapsed) :ghc>>
    
    Using Plan B
    
    Max residency 1.1G
    
    <<ghc: 78,832,782,968 bytes, 2884 GCs,
           222140352/386470152 avg/max bytes residency (34 samples),
           1062M in use, 0.001 INIT (0.001 elapsed),
           56.612 MUT (62.917 elapsed), 32.974 GC (32.923 elapsed) :ghc>>
    
    Test Plan: ./validate
    
    Reviewers: shayan-najd, goldfire, bgamari
    
    Subscribers: goldfire, thomie, mpickering, carter
    
    Differential Revision: https://phabricator.haskell.org/D4581
    b1386942
TcRnDriver.hs 112 KB