This patch refactors the PHisToFix loop as follows:
- The loop itself now resides in its own method.
- The new method iterates on scalar-loop's header; the PHIsToFix map formerly propagated as an output parameter and filled during phi widening is removed.
- The code handling reductions is moved into its own method, similar to the existing fixFirstOrderRecurrence().
Follows https://reviews.llvm.org/D28975 and its tentative breakdown.
Joint work with Ayal.