Be more conservative about duplicating continuations
Roman found that GHC was duplicating continuations that arose (essentially) from uses of 'seq', or strict constructors. This fixes the problem; see the comments mkDupableCont (the Select case with a single alternative). I'm a little concerned that this may also miss useful case-of-case tranformations, so I'd like to know if anyone finds that this patch makes performance worse. To make it a bit more gung-ho, one could check for all the binders being dead, before choosing this new, conservative alternative.
Showing with 37 additions and 0 deletions