Fix for a loop-rotation based regression we have seen recently. Prior to rL324572 in
this case we would enter loop rotate with a loop with three blocks, the last of which
is an empty latch. Loop rotate would remove the empty latch, and because it did
(SimplifiedLatch=true), would choose to rotate the loop.
We now remove the empty loop latch in simplifycfg, so loop rotate doesn't find the
latch to simplify (SimplifiedLatch=false), and does nothing with the loop. In this case
the loop keeps track of a current list node and prev list node. Rotating the loop
means we don't need to keep track of prev, removing a phi node.
A user of an Instruction is always an Instruction, so the isa<> is redundant.
This heuristic doesn't seem very general; it's not clear to me why we specifically want to rotate in cases like this, as opposed to peeling or something like that.