Fix faulty substitutions in StgCse (#11532).
substBndr
should rename bindings which shadow existing ids.
However while it was renaming the bindings it was not adding proper substitutions
for renamed bindings.
Instead of adding a substitution of the form old -> new
for renamed
bindings it mistakenly added old -> old
if no replacement had taken
place while adding none if old
had been renamed.
As a byproduct this should improve performance, as we no longer add useless substitutions for unshadowed bindings.
Edited by Simon Peyton Jones