Make more primops cheaper
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 27 Apr 2012 16:45:56 +0000 (17:45 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 27 Apr 2012 16:45:56 +0000 (17:45 +0100)
commita365a58eade7cb2c961af8e60c20b7d78b1b7484
tree1c70949fad3d34e23e4cdba0ed9db9aedef4bf35
parent95fb4b1da70a9df50a42449b19ff6350181a38db
Make more primops cheaper

This puts back the earlier behaviour (pre "aggressive-primop" patch)
whereby most primpos were considered cheap.  In the aggressive-primop
patch we made them ones with bigger "code_size" seem not-cheap, but
this slows down fft2 a lot.  So I've reverted to the earlier behaviour.

   +++ b/compiler/prelude/PrimOp.lhs
   @@ -450,6 +450,8 @@ primOpIsCheap op
      -- This is vital; see Note [PrimOp can_fail and has_side_effects]
    && not (primOpOutOfLine op)
  -   -- && primOpCodeSize op <= primOpCodeSizeDefault
  +-- Omitting; it makes fft2 run a lot slower by preventing
  +--           eta expansion in an inner loop, with a primop cosDouble#
compiler/prelude/PrimOp.lhs