On Wed, Nov 24, 2021 at 11:14:00PM +0000, Simon Peyton Jones via ghc-devs wrote:
> | For two join points to be duplicates they need to not only be alpha
> | equivalent but to also have the same continuation.
>
> Yes exactly. And it would not be hard to adapt the existing CSE pass
> to support this. Just needs doing.
>
> A ticket and a repo case would be really helpful.
I'll do my best to construct a standalone reproducer that is not mired
in ByteString code. The ByteString example should not be too difficult
to mimmic in code that relies only on base.
Though I might still have to use Foreign.Storable and Foreign.Ptr and
some sort of unsafePerformIO variant in there, so that I get essentially
the same basic structure of inlining and join points.
I guess I'll try removing excess baggage while the basic structure
persists, and ideally end up with something small enough.
--
Viktor.
_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs