1. Revert "[InstCombine] Take 2: Perform trivial PHI CSE" (details)
Commit bdaa3f86a040b138c58de41d73d35b76fdec1380 by lebedev.ri
Revert "[InstCombine] Take 2: Perform trivial PHI CSE"

While the original variant with doing this in InstSimplify (rightfully)
caused questions and ultimately was detected to be a culprit
of stage2-stage3 mismatch, it was expected that
InstCombine-based implementation would be fine.

But apparently it's not, as

Which suggests that somewhere in InstCombine there is a loop
over nondeterministically sorted container, which causes
different worklist ordering.

This reverts commit 3e69871ab5a66fb55913a2a2f5e7f5b42899a4c9.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/select.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-cse.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/phi-equal-incoming-pointers.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction.ll (diff)