From add773aa5d3af794c935345b193de1865945aa4e Mon Sep 17 00:00:00 2001 From: simonpj Date: Tue, 23 Sep 2003 15:09:09 +0000 Subject: [PATCH] [project @ 2003-09-23 15:09:09 by simonpj] -------------------------- Make MachString literals a bit bigger -------------------------- Up to now, unboxed string literals of up to 3 characters had size 1, which means they are inlined in place of a variable. That seems over-eager (duplication), so I've upped their size a bit. --- ghc/compiler/basicTypes/Literal.lhs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ghc/compiler/basicTypes/Literal.lhs b/ghc/compiler/basicTypes/Literal.lhs index d71bedf..edc77b7 100644 --- a/ghc/compiler/basicTypes/Literal.lhs +++ b/ghc/compiler/basicTypes/Literal.lhs @@ -288,10 +288,12 @@ litIsDupable other = True litSize :: Literal -> Int -- Used by CoreUnfold.sizeExpr -litSize (MachStr str) = 1 + (lengthFS str `div` 4) +litSize (MachStr str) = 1 + ((lengthFS str + 3) `div` 4) -- Every literal has size at least 1, otherwise -- f "x" -- might be too small + -- [Sept03: make literal strings a bit bigger to avoid fruitless + -- duplication of little strings] litSize _other = 1 \end{code} -- 1.7.10.4