#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