static rtx
may_unswitch_on (basic_block bb, struct loop *loop, rtx *cinsn)
{
- rtx test, at, insn, op[2], stest;
+ rtx test, at, op[2], stest;
struct rtx_iv iv;
unsigned i;
enum machine_mode mode;
if (CONSTANT_P (op[i]))
continue;
- insn = iv_get_reaching_def (at, op[i]);
- if (!iv_analyze (insn, op[i], &iv))
+ if (!iv_analyze (at, op[i], &iv))
return NULL_RTX;
if (iv.step != const0_rtx
|| iv.first_special)
sbitmap_zero (zero_bitmap);
if (!duplicate_loop_to_header_edge (loop, entry, loops, 1,
zero_bitmap, NULL, NULL, NULL, 0))
- return NULL;
- free (zero_bitmap);
+ {
+ sbitmap_free (zero_bitmap);
+ return NULL;
+ }
+ sbitmap_free (zero_bitmap);
entry->flags |= irred_flag;
/* Record the block with condition we unswitch on. */