At the moment CSE consider only one predecessor if it is alone.
This patch allows to search in any number of block if for each
of them there is only one predecessor.
The LookAheadLimit still controls the number of instruction
to proceed.
The motivation case is in llvm/test/CodeGen/X86/cse-two-preds.mir and https://godbolt.org/z/rEj9GPfnY
Why reverse iterator?