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
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to