#2325: Compile-time computations
-----------------------------------------+----------------------------------
    Reporter:  ajd                       |       Owner:          
        Type:  run-time performance bug  |      Status:  new     
    Priority:  normal                    |   Component:  Compiler
     Version:  6.8.2                     |    Severity:  normal  
    Keywords:                            |    Testcase:          
Architecture:  Unknown                   |          Os:  Unknown 
-----------------------------------------+----------------------------------
 {{{
 $ cat Reduce3.hs
 module Reduce3
   where

 foo = 1 + 2
 $ cat Reduce4.hs
 module Reduce4
   where

 foo = 3
 $ ghc -c -O2 -fforce-recomp -ddump-simpl Reduce3.hs

 ==================== Tidy Core ====================
 Reduce3.lvl :: GHC.Num.Integer
 [GlobalId]
 [NoCafRefs]
 Reduce3.lvl = GHC.Num.S# 1

 Reduce3.lvl1 :: GHC.Num.Integer
 [GlobalId]
 [NoCafRefs]
 Reduce3.lvl1 = GHC.Num.S# 2

 Reduce3.foo :: GHC.Num.Integer
 [GlobalId]
 [Str: DmdType]
 Reduce3.foo = GHC.Num.plusInteger Reduce3.lvl Reduce3.lvl1



 ==================== Tidy Core Rules ====================


 $ ghc -c -O2 -fforce-recomp -ddump-simpl Reduce4.hs

 ==================== Tidy Core ====================
 Reduce4.foo :: GHC.Num.Integer
 [GlobalId]
 [NoCafRefs
  Str: DmdType]
 Reduce4.foo = GHC.Num.S# 3




 ==================== Tidy Core Rules ====================
 }}}

 It would be nice if GHC could do the addition at compile time (since,
 after all, the result will always be the same) instead of at runtime.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2325>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to