Skip to content
  • Simon Peyton Jones's avatar
    Improve SpecConstr when there are many opportunities · c46a600f
    Simon Peyton Jones authored
    SpecConstr has -fspec-contr-count=N which limits the maximum
    number of specialisations we make for any particular function.
    But until now, if that limit was exceeded we discarded all the
    candidates!  So adding a new specialisaiton opportunity (by
    adding a new call site, or improving the optimiser) could result
    in less specialisation and worse performance.
    
    This patch instead picks the top N candidates, resulting in
    less brittle behaviour.
    
    See Note [Choosing patterns].
    c46a600f