This patch exposes components that allow to simplify conditions for the
first iteration of a loop. The logic was almost completely copied.
Slight modifications include:
- Use the loop predecessor instead of loop preheader.
- Try to simplify both sides of the ICmp.
- Do not give up if no PHI was found or the PHI was not in a header.
One test was improved, a proper negative example was added to keep
coverage high.
All callers pass L. Simplify.