simonpj     2002/11/21 06:59:52 PST

  Modified files:
    ghc/compiler/simplCore SimplUtils.lhs 
    ghc/compiler/coreSyn CoreUtils.lhs 
  Log:
        -------------------------------
        Better notion of what a 'value' is
        Slightly better eta reduction
        -------------------------------
  
  1.  At various places we watch out for "values"; the predicate exprIsValue
  detects them. It was stupidly treating nullary constructors as non-values
  which is exceptionally stupid.  This (performance) bug has been there
  for ages.
  
  There's an exactly similar bug in SimplUtils.interestingArg, which looks
  for an interesting argument to trigger an inlining.
  
  2.  The eta reduction in SimplUtils.tryEtaReduce would only eta reduce if
  that left us with a variable.  That led to slightly tiresome thing like
        :DMonad (/\a b -> foo @ s @ a @ b) ...
  where this would be neater
        :DMonad (foo @ s)
  The fix is easy, and there's a little less code too.
  
  Revision  Changes    Path
  1.88      +12 -7     fptools/ghc/compiler/simplCore/SimplUtils.lhs
  1.104     +33 -24    fptools/ghc/compiler/coreSyn/CoreUtils.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc


Reply via email to