
#14626: No need to enter a scrutinised value -------------------------------------+------------------------------------- Reporter: heisenbug | Owner: heisenbug Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: performance Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #13861 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by heisenbug): Replying to [comment:15 alexbiehl]:
Indeed GHC seems to unnecessarily enter `MkT`s argument!
{{{ ... c1ab: // global R1 = P64[R1 + 7] & (-8); -- load xs and untag(!) it Sp = Sp + 8; call (I64[R1])(R1) args: 8, res: 0, upd: 8; -- and enter it! }}}
Yes, my branch is supposed to fix (soon) many (if not all) of these cases. Simon fixed the lost tracking of ''evaled-ness'' in core-prep already, now I am building on that patch. Which GHC do you use to check? My branch currently won't bootstrap, so you can only do your experiments with `stage1` (or roll your own modifications). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14626#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler