+2004-12-30 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/19175
+ * loop-unroll.c (expand_bct): Pass the code_label to the function
+ do_compare_rtx_and_jump, not the label ref. Clean-up style issues.
+
2004-12-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
/* Expand a bct instruction in a branch and an increment.
If flag_inc is set, the induction variable does not need to be
incremented. */
-void expand_bct (edge e, int flag_inc)
+
+static void
+expand_bct (edge e, int flag_inc)
{
rtx bct_insn = BB_END (e->src);
rtx cmp;
rtx tgt;
rtx condition;
- rtx label;
+ rtx labelref;
rtx reg;
- rtx jump;
- rtx pattern = PATTERN(bct_insn);
+ rtx pattern = PATTERN (bct_insn);
- if (!(is_bct_cond(bct_insn)))
+ if (!is_bct_cond (bct_insn))
return;
inc = get_var_set_from_bct (bct_insn);
}
condition = XEXP (SET_SRC (cmp), 0);
- label = XEXP (SET_SRC (cmp), 1);
+ labelref = XEXP (SET_SRC (cmp), 1);
do_compare_rtx_and_jump (copy_rtx (reg), XEXP (condition, 1),
GET_CODE (condition), 0,
GET_MODE (reg), NULL_RTX, NULL_RTX,
- label);
- jump = get_last_insn ();
- JUMP_LABEL (jump) = label;
+ XEXP (labelref, 0));
seq = get_insns ();
end_sequence ();
emit_insn_after (seq, bct_insn);