p
* jump.c (can_reverse_comparison_p): Do not abort if the comparison
insn for a conditional jump can not be found.
From-SVN: r27043
)
{
rtx prev = prev_nonnote_insn (insn);
- rtx set = single_set (prev);
+ rtx set;
+ /* If the comparison itself was a loop invariant, it could have been
+ hoisted out of the loop. If we proceed to unroll such a loop, then
+ we may not be able to find the comparison when copying the loop.
+
+ Returning zero in that case is the safe thing to do. */
+ if (prev == 0)
+ return 0;
+
+ set = single_set (prev);
if (set == 0 || SET_DEST (set) != arg0)
return 0;