Simon Peyton Jones pushed to branch wip/T24466 at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • compiler/GHC/Core/Opt/FloatIn.hs
    ... ... @@ -860,6 +860,9 @@ sepBindsByDropPoint platform is_case floaters here_fvs fork_fvs
    860 860
     
    
    861 861
               n_used_alts = count id used_in_flags -- returns number of Trues in list.
    
    862 862
     
    
    863
    +          -- A demanded thunk like  let x = factorial y in ... could be pushed, but
    
    864
    +          -- it'll turn into a case-expression so it doesn't allocate directly.
    
    865
    +          -- So I am experimenting with making it stay put.
    
    863 866
               strict_thunk = case bind of
    
    864 867
                                FloatCase{}           -> False
    
    865 868
                                FloatLet (Rec {})     -> False