I am looking into that, it must be doable. It seems not too hard, in
maybe_register_def, to push all results from make_ssa_name to some
data-structure (I don't think new_ssa_names gives me that list, but
there may be other ways to get it without introducing yet another list),
and either mark them as used in maybe_replace_use or get_reaching_def,
or better loop through them at the end, checking has_zero_uses (it is a
bit wasteful, only those coming from clobbers may have 0 uses (or we
missed a dce/dse earlier), but it should be fast enough, even walking on
all ssa_names should be fast enough). If we go to that much trouble, we
may as well clean them while we are there. It isn't obvious to me how to
notice unused new ssa_names more easily, to trigger a DCE.