From: Roger Sayle Date: Thu, 30 Dec 2004 20:23:28 +0000 (+0000) Subject: re PR middle-end/19175 (RTL checking failures on i686-pc-linux-gnu) X-Git-Tag: releases/gcc-3.4.4~354 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=52d7aaa91cabcb03859dbec782b96f1be7dd40bc;p=thirdparty%2Fgcc.git re PR middle-end/19175 (RTL checking failures on i686-pc-linux-gnu) 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. From-SVN: r92740 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b04dbf5641b..07e8173137ec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-30 Roger Sayle + + 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 * vax.c (vax_address_cost, vax_rtx_cost): Correct casts. diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c index aae175720fea..4852bb291319 100644 --- a/gcc/loop-unroll.c +++ b/gcc/loop-unroll.c @@ -1269,7 +1269,9 @@ unroll_loop_stupid (struct loops *loops, struct loop *loop) /* 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; @@ -1278,12 +1280,11 @@ void expand_bct (edge e, int flag_inc) 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); @@ -1299,14 +1300,12 @@ void expand_bct (edge e, int flag_inc) } 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);