
Simon Peyton Jones pushed to branch wip/T23109a at Glasgow Haskell Compiler / GHC Commits: 6bee78af by Simon Peyton Jones at 2025-04-20T23:02:40+01:00 Wibble SetLevels - - - - - 1 changed file: - compiler/GHC/Core/Opt/SetLevels.hs Changes: ===================================== compiler/GHC/Core/Opt/SetLevels.hs ===================================== @@ -708,9 +708,15 @@ lvlMFE env strict_ctxt ann_expr -- See Note [Floating to the top] saves_alloc = isTopLvl dest_lvl + && (escapes_value_lam || floatConsts env) + -- Always float allocation out of a value lambda + -- if it gets to top level + && (not strict_ctxt || is_hnf || is_bot_lam) +{- && ( (floatConsts env && (not strict_ctxt || is_hnf)) -- (FT1) and (FT2) || (is_bot_lam && escapes_value_lam)) -- (FT3) +-} hasFreeJoin :: LevelEnv -> DVarSet -> Bool -- Has a free join point which is not being floated to top level. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/6bee78af5db225c26bb21254bc9cc9f5... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/6bee78af5db225c26bb21254bc9cc9f5... You're receiving this email because of your account on gitlab.haskell.org.