#4299: a less forceful INLINE pragma
---------------------------------+------------------------------------------
    Reporter:  simonmar          |        Owner:                            
        Type:  feature request   |       Status:  new                       
    Priority:  normal            |    Milestone:                            
   Component:  Compiler          |      Version:  6.12.3                    
    Keywords:                    |     Testcase:                            
   Blockedby:                    |   Difficulty:  Moderate (less than a day)
          Os:  Unknown/Multiple  |     Blocking:                            
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown              
---------------------------------+------------------------------------------

Comment(by simonpj):

 Simon and I decided this was worth doing. An important feature of
 INLINABLE is that if you say `(inline f e1 e2)` in another module, you get
 your specified inlining for `f`.  You can do this on a per-call-site
 basis.

 Documentation will come in a second patch.  Here's the payload:
 {{{
 Wed Sep 15 05:44:42 PDT 2010  [email protected]
   * Implement INLINABLE pragma

   Implements Trac #4299.  Documentation to come.

     M ./compiler/basicTypes/BasicTypes.lhs -15 +37
     M ./compiler/basicTypes/MkId.lhs -1 +1
     M ./compiler/coreSyn/CoreFVs.lhs -1 +1
     M ./compiler/coreSyn/CoreSubst.lhs -4 +4
     M ./compiler/coreSyn/CoreSyn.lhs -29 +31
     M ./compiler/coreSyn/CoreUnfold.lhs -48 +63
     M ./compiler/coreSyn/PprCore.lhs -3 +3
     M ./compiler/deSugar/DsBinds.lhs -10 +18
     M ./compiler/deSugar/DsForeign.lhs -1 +1
     M ./compiler/deSugar/DsMeta.hs -6 +8
     M ./compiler/hsSyn/Convert.lhs -1 +5
     M ./compiler/iface/BinIface.hs -3 +18
     M ./compiler/iface/IfaceSyn.lhs -5 +8
     M ./compiler/iface/MkIface.lhs -7 +9
     M ./compiler/iface/TcIface.lhs -4 +7
     M ./compiler/main/TidyPgm.lhs -2 +2
     M ./compiler/parser/Lexer.x -6 +7
     M ./compiler/parser/Parser.y.pp -11 +7
     M ./compiler/parser/RdrHsSyn.lhs -8 +7
     M ./compiler/simplCore/OccurAnal.lhs -1 +1
     M ./compiler/simplCore/SetLevels.lhs -1 +1
     M ./compiler/simplCore/Simplify.lhs -6 +7
     M ./compiler/specialise/Specialise.lhs -5 +5
     M ./compiler/stranal/WorkWrap.lhs -9 +5
     M ./compiler/vectorise/Vectorise.hs -2 +2
     M ./compiler/vectorise/Vectorise/Exp.hs -1 +1
     M ./compiler/vectorise/Vectorise/Type/Env.hs -1 +1
     M ./compiler/vectorise/Vectorise/Type/PADict.hs -1 +1
     M ./compiler/vectorise/Vectorise/Utils/Closure.hs -1 +1
     M ./compiler/vectorise/Vectorise/Utils/Hoisting.hs -2 +2
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4299#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to