[GHC] #14375: Implement with# primop
GHC
ghc-devs at haskell.org
Thu Dec 27 06:16:33 UTC 2018
#14375: Implement with# primop
-------------------------------------+-------------------------------------
Reporter: simonpj | Owner: bgamari
Type: bug | Status: new
Priority: highest | Milestone: 8.8.1
Component: Compiler | Version: 8.2.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #14346 | Differential Rev(s): Phab:D4110
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by osa1):
* differential: Phab:D4110, Phab:D4189 => Phab:D4110
Comment:
This ticket is really confusing so I talked to Ben on this. Here's the
current
status:
- #14346 is fixed but the `touch#` primop is essentially still broken. The
suggestion of ticket:14346#comment:18 suggested implementing some hacks
in
simplifier to avoid removing unreachable continuation if the
continuation
calls `touch#`, but that's not implemented and as far as I can see there
are
no plans on implementing it (with no explicit reason to not to). Instead
we
want to use `with#` whenever possible.
To fix the problem with #14346 we introduced some `NOINLINE`s to
functions
that use `touch#`, so simplifier now can't see that the `touch#` is
unreacable
and remove it.
- This ticket has two ideas:
1. A new primop `with#`. This is being implemented in Phab:D4110.
2. A more efficient implementation plan for primops that take
continuations.
This is being implemented in Phab:D4647, although it seems to be
dormant
now (last update from the author is in Jun).
To keep things more manageble (and avoid the communication problems we had
with
e.g. #15696) let's track the progress for (2) in another ticket and only
worry
about (1) here. If we really want (2) before (1) then we can consider the
ticket
for (1) as a blocker, and move on to this ticket after (2).
(I'm removing Phab:D4189 from the diffs list)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14375#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list