Bad choice of loop breaker?
|Reported by:||rl||Owned by:||rl|
|Type of failure:||Runtime performance bug||Test Case:|
|Related Tickets:||Differential Rev(s):|
When compiling dph-prim-par/Data/Array/Parallel/Unlifted/Distributed/Arrays.hs, GHC chooses splitD (only until w/w) and splitJoinD as loop breakers which prevents the latter from being inlined in other modules. I fear this might actually be the correct behaviour but Simon asked me to submit a ticket so here it is. I fixed the problem by moving the implementation of splitD to a new function splitD_impl which is called from splitD and splitJoinD. I haven't pushed the patch yet; I'll tag the repo and update the ticket before I do that.