Skip to content

Better sharing of join points: #19996

Simon Peyton Jones requested to merge wip/T19557 into master

This patch fixes #19996 (closed) and #20049 (closed).

  • In the StrictArg case of mkDupableContWithDmds, don't use Plan A for data constructors

  • In postInlineUnconditionally, don't inline JoinIds. Avoids inlining

    join $j x = Just x
    in case blah of
       A -> $j x1
       B -> $j x2
       C -> $j x3
  • In mkDupableStrictBind and mkDupableStrictAlt, create join points (much) more often: exprIsTrivial rather than exprIsDupable. This is probably too much, but we'll see

Edited by Simon Peyton Jones

Merge request reports