X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplCore%2FSetLevels.lhs;h=043b036a6ff02ea4520d4e03b8ea708d4c074366;hb=ba00f074b38f4e168c893adc293c5b9cd6992721;hp=13912dc234acd3021fb652add2cb7954b676c68d;hpb=e706b70b9c863300a118797992b8aa46ad3e2865;p=ghc-hetmet.git diff --git a/compiler/simplCore/SetLevels.lhs b/compiler/simplCore/SetLevels.lhs index 13912dc..043b036 100644 --- a/compiler/simplCore/SetLevels.lhs +++ b/compiler/simplCore/SetLevels.lhs @@ -42,6 +42,13 @@ the scrutinee of the case, and we can inline it. \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module SetLevels ( setLevels, @@ -119,8 +126,8 @@ allocation becomes static instead of dynamic. We always start with context @Level 0 0@. -InlineCtxt -~~~~~~~~~~ +Note [FloatOut inside INLINE] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @InlineCtxt@ very similar to @Level 0 0@, but is used for one purpose: to say "don't float anything out of here". That's exactly what we want for the body of an INLINE, where we don't want to float anything @@ -445,7 +452,7 @@ don't understand the old comment either (which appears below). I measured the effect on nofib of changing OLD CODE to 'True', and got zeros everywhere, but a 4% win for 'puzzle'. Very small 0.5% loss for 'cse'; turns out to be because our arity analysis isn't good enough -yet (mentioned in Simon-nofib-notes. +yet (mentioned in Simon-nofib-notes). OLD comment was: Even if it escapes a value lambda, we only