Fri Dec 11 09:39:20 PST 2009  [email protected]
  * Use full equality for CSE
  Ignore-this: c6d73febf652aa34dc1197a49e599ee
  
  In CSE we were getting lots of apprarently-unequal expressions with
  the same hash code.  In fact they were perfectly equal -- but we were
  using a cheap-and-cheerful equality tests for CoreExpr that said False
  for any lambda expression!
  
  This patch adds a proper equality test for Core, with alpha-renaming.
  It's easy to do, and will avoid silly cases of CSE failing to fire.
  
  We should get less of this:
    WARNING: file compiler/simplCore/CSE.lhs line 326
    extendCSEnv: long list, length 18
  from a compiler built with -DDEBUG

    M ./compiler/coreSyn/CoreUtils.lhs -1 +49
    M ./compiler/simplCore/CSE.lhs -8 +12
    M ./compiler/types/Coercion.lhs -1 +5
    M ./compiler/types/Type.lhs -3 +7

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20091211173920-1287e-50d62ecf52bc31ef0d807c6af4a0855f3b7dc608.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to