diff options
author | M Farkas-Dyck <strake888@proton.me> | 2022-10-22 15:04:11 -0800 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-11-23 21:59:03 -0500 |
commit | 040bfdc359fcc5415ab8836b38982c07c31ea6a2 (patch) | |
tree | 0787c8d7b473e6fca98231ce975209081c132573 /compiler/GHC/Core/Opt/CSE.hs | |
parent | 99aca26b652603bc62953157a48e419f737d352d (diff) | |
download | haskell-040bfdc359fcc5415ab8836b38982c07c31ea6a2.tar.gz |
Scrub some no-warning pragmas.
Diffstat (limited to 'compiler/GHC/Core/Opt/CSE.hs')
-rw-r--r-- | compiler/GHC/Core/Opt/CSE.hs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/compiler/GHC/Core/Opt/CSE.hs b/compiler/GHC/Core/Opt/CSE.hs index f8a129de85..2f7718709a 100644 --- a/compiler/GHC/Core/Opt/CSE.hs +++ b/compiler/GHC/Core/Opt/CSE.hs @@ -4,11 +4,6 @@ \section{Common subexpression} -} - - -{-# OPTIONS_GHC -Wno-incomplete-record-updates #-} -{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} - module GHC.Core.Opt.CSE (cseProgram, cseOneExpr) where import GHC.Prelude @@ -32,6 +27,7 @@ import GHC.Types.Tickish import GHC.Core.Map.Expr import GHC.Utils.Misc ( filterOut, equalLength ) import GHC.Utils.Panic +import Data.Functor.Identity ( Identity (..) ) import Data.List ( mapAccumL ) {- @@ -412,7 +408,7 @@ cseBind toplevel env (Rec [(in_id, rhs)]) = (extendCSRecEnv env1 out_id rhs'' id_expr', Rec [(zapped_id, rhs')]) where - (env1, [out_id]) = addRecBinders env [in_id] + (env1, Identity out_id) = addRecBinders env (Identity in_id) rhs' = cseExpr env1 rhs rhs'' = stripTicksE tickishFloatable rhs' ticks = stripTicksT tickishFloatable rhs' @@ -916,7 +912,8 @@ addBinders cse vs = (cse { cs_subst = sub' }, vs') where (sub', vs') = substBndrs (cs_subst cse) vs -addRecBinders :: CSEnv -> [Id] -> (CSEnv, [Id]) -addRecBinders cse vs = (cse { cs_subst = sub' }, vs') - where - (sub', vs') = substRecBndrs (cs_subst cse) vs +addRecBinders :: Traversable f => CSEnv -> f Id -> (CSEnv, f Id) +addRecBinders = \ cse vs -> + let (sub', vs') = substRecBndrs (cs_subst cse) vs + in (cse { cs_subst = sub' }, vs') +{-# INLINE addRecBinders #-} |