summaryrefslogtreecommitdiff
path: root/compiler/utils/FV.hs
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2016-09-23 23:25:43 +0100
committerMatthew Pickering <matthewtpickering@gmail.com>2016-09-23 23:33:16 +0100
commitd122935340ddf97a5a8496070de1f9bb34328440 (patch)
treeb1b813b691d71c5e831abed5c3e253a36b442166 /compiler/utils/FV.hs
parent9766b0c81476c208b2b29ff66d97251209a79707 (diff)
downloadhaskell-d122935340ddf97a5a8496070de1f9bb34328440.tar.gz
Mark mapUnionFV as INLINABLE rather than INLINE
It is a self-recursive function so will always be the loop-breaker and hence never able to be inlined. It is dubious whether the INLINABLE pragma will ever help as it is not a very polymorphic function but some specialisation could occur.
Diffstat (limited to 'compiler/utils/FV.hs')
-rw-r--r--compiler/utils/FV.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/utils/FV.hs b/compiler/utils/FV.hs
index 8e012209cf..b5cf096aac 100644
--- a/compiler/utils/FV.hs
+++ b/compiler/utils/FV.hs
@@ -184,7 +184,7 @@ mapUnionFV :: (a -> FV) -> [a] -> FV
mapUnionFV _f [] _fv_cand _in_scope acc = acc
mapUnionFV f (a:as) fv_cand in_scope acc =
mapUnionFV f as fv_cand in_scope $! f a fv_cand in_scope $! acc
-{-# INLINE mapUnionFV #-}
+{-# INLINABLE mapUnionFV #-}
-- | Union many free variable computations.
unionsFV :: [FV] -> FV