Update isFirstOrderRecurrence to explore all uses of a recurrence phi
and check if we can sink them. If there are multiple users to sink, they
are all mapped to the previous instruction.
Consumers of SinkAfter now have to make sure they apply the mappings for
SinkAfter so that the relative order of the sunk instructions is
preserved. We can order them by the reverse comes-before predicate, as
sinking is limited to a single BB for now.
Fixes PR44286 (and another PR or two).