-
Simon Marlow authored
Throw away an SCC on a single variable. This seems to be justified: there can be no work to attribute to the current cost centre when evaluating a lone variable, other than the act of entering the closure, and possibly returning immediately if it is a variable. This also fixes a bug in profiling, which showed up as incorrect transformations made by the simplifier resulting in extra strictness. The simplifier assumes (in Simplify.simplLazyBind) that (let x = e in x) will have been turned into x, but this isn't true if there's an SCC around the x.
e66106a5