Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/a9ec8ec0faaa1322a62e22cedc46f2394c423d09 >--------------------------------------------------------------- commit a9ec8ec0faaa1322a62e22cedc46f2394c423d09 Author: Ian Lynagh <i...@well-typed.com> Date: Tue Nov 13 19:43:50 2012 +0000 Remove the inline primop It's not really a primop, and GHC.Prim doesn't export it. It has a definition in GHC.Magic. >--------------------------------------------------------------- compiler/prelude/primops.txt.pp | 20 -------------------- 1 files changed, 0 insertions(+), 20 deletions(-) diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index 7730106..63b6009 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -2068,26 +2068,6 @@ pseudoop "seq" { Evaluates its first argument to head normal form, and then returns its second argument as the result. } -pseudoop "inline" - a -> a - { The call {\tt (inline f)} arranges that f is inlined, regardless of its size. - More precisely, the call {\tt (inline f)} rewrites to the right-hand side of - {\tt f}'s definition. This allows the programmer to control inlining from a - particular call site rather than the definition site of the function (c.f. - {\tt INLINE} pragmas in User's Guide, Section 7.10.3, "INLINE and NOINLINE - pragmas"). - - This inlining occurs regardless of the argument to the call or the size of - {\tt f}'s definition; it is unconditional. The main caveat is that {\tt f}'s - definition must be visible to the compiler. That is, {\tt f} must be - {\tt let}-bound in the current scope. If no inlining takes place, the - {\tt inline} function expands to the identity function in Phase zero; so its - use imposes no overhead. - - It is good practice to mark the function with an INLINABLE pragma at - its definition, (a) so that GHC guarantees to expose its unfolding regardless - of size, and (b) so that you have control over exactly what is inlined. } - pseudoop "lazy" a -> a { The {\tt lazy} function restrains strictness analysis a little. The call _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc