[EXTERNAL] Unexpected duplicate join points in "Core" output?
Viktor Dukhovni
ietf-dane at dukhovni.org
Wed Nov 24 23:32:04 UTC 2021
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.
More information about the ghc-devs
mailing list