diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-01-12 20:55:56 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-02-17 11:22:23 -0500 |
commit | fb94d102b932ee4e4193199c926369c9cd09b9dc (patch) | |
tree | ab2545fe65ab25297a74adc047f74ca8bb67e468 | |
parent | 53677c96e385e9867377378d00dcb7623b0c3f13 (diff) | |
download | haskell-fb94d102b932ee4e4193199c926369c9cd09b9dc.tar.gz |
CallArity: Small optimisations and strictness
-rw-r--r-- | compiler/GHC/Core/Opt/CallArity.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/GHC/Core/Opt/CallArity.hs b/compiler/GHC/Core/Opt/CallArity.hs index 3af862c570..f54962b7cd 100644 --- a/compiler/GHC/Core/Opt/CallArity.hs +++ b/compiler/GHC/Core/Opt/CallArity.hs @@ -2,6 +2,8 @@ -- Copyright (c) 2014 Joachim Breitner -- +{-# LANGUAGE BangPatterns #-} + module GHC.Core.Opt.CallArity ( callArityAnalProgram , callArityRHS -- for testing @@ -722,10 +724,10 @@ unitArityRes :: Var -> Arity -> CallArityRes unitArityRes v arity = (emptyUnVarGraph, unitVarEnv v arity) resDelList :: [Var] -> CallArityRes -> CallArityRes -resDelList vs ae = foldr resDel ae vs +resDelList vs ae = foldl' (flip resDel) ae vs resDel :: Var -> CallArityRes -> CallArityRes -resDel v (g, ae) = (g `delNode` v, ae `delVarEnv` v) +resDel v (!g, !ae) = (g `delNode` v, ae `delVarEnv` v) domRes :: CallArityRes -> UnVarSet domRes (_, ae) = varEnvDom ae |