[GHC] #13999: Simple function not inlined within declaration marked NOINLINE
GHC
ghc-devs at haskell.org
Thu Jul 20 01:05:15 UTC 2017
#13999: Simple function not inlined within declaration marked NOINLINE
-------------------------------------+-------------------------------------
Reporter: srb | Owner: (none)
Type: bug | Status: new
Priority: lowest | Milestone:
Component: Compiler | Version: 8.0.2
Keywords: Inlining | Operating System: Unknown/Multiple
Architecture: | Type of failure: Runtime
Unknown/Multiple | performance bug
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
This seems so shallow that I feel like I must be missing something, but if
I implement a function like
{{{#!hs
eq :: Bool -> Bool -> Bool
eq x y = x == y
{-# NOINLINE eq #-}
}}}
the boolean equality operator is not inlined in eq, even at -O2. The
generated core is instead
{{{#!hs
eq = $fEqBool_$c==
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13999>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list