From 23827dc5961db132f2eb5babcd08360c9bda08ad Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 31 Dec 2013 03:44:37 -0500 Subject: [PATCH 032/159] FIXME: emit_label --- gcc/config/i386/i386.c | 28 ++++++++++++++++++---------- gcc/emit-rtl.c | 4 ++-- gcc/expr.c | 2 +- gcc/rtl.h | 2 +- gcc/stmt.c | 2 +- 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 73150c2..ce5b885 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -24365,7 +24365,7 @@ ix86_expand_strlensi_unroll_1 (rtx out, rtx src, rtx align_rtx) } else { - rtx end_2_label = gen_label_rtx (); + rtx_code_label end_2_label = gen_label_rtx (); /* Is zero in the first two bytes? */ emit_insn (gen_testsi_ccno_1 (tmpreg, GEN_INT (0x8080))); @@ -39095,7 +39095,7 @@ ix86_expand_sse_fabs (rtx op0, rtx *smask) swapping the operands if SWAP_OPERANDS is true. The expanded code is a forward jump to a newly created label in case the comparison is true. The generated label rtx is returned. */ -static rtx +static rtx_code_label ix86_expand_sse_compare_and_jump (enum rtx_code code, rtx op0, rtx op1, bool swap_operands) { @@ -39205,7 +39205,8 @@ ix86_expand_lfloorceil (rtx op0, rtx op1, bool do_floor) */ enum machine_mode fmode = GET_MODE (op1); enum machine_mode imode = GET_MODE (op0); - rtx ireg, freg, label, tmp; + rtx ireg, freg, tmp; + rtx_code_label label; /* reg = (long)op1 */ ireg = gen_reg_rtx (imode); @@ -39241,7 +39242,8 @@ ix86_expand_rint (rtx operand0, rtx operand1) return copysign (xa, operand1); */ enum machine_mode mode = GET_MODE (operand0); - rtx res, xa, label, TWO52, mask; + rtx res, xa, TWO52, mask; + rtx_code_label label; res = gen_reg_rtx (mode); emit_move_insn (res, operand1); @@ -39284,7 +39286,8 @@ ix86_expand_floorceildf_32 (rtx operand0, rtx operand1, bool do_floor) return x2; */ enum machine_mode mode = GET_MODE (operand0); - rtx xa, TWO52, tmp, label, one, res, mask; + rtx xa, TWO52, tmp, one, res, mask; + rtx_code_label label; TWO52 = ix86_gen_TWO52 (mode); @@ -39347,7 +39350,8 @@ ix86_expand_floorceil (rtx operand0, rtx operand1, bool do_floor) return x2; */ enum machine_mode mode = GET_MODE (operand0); - rtx xa, xi, TWO52, tmp, label, one, res, mask; + rtx xa, xi, TWO52, tmp, one, res, mask; + rtx_code_label label; TWO52 = ix86_gen_TWO52 (mode); @@ -39410,7 +39414,8 @@ ix86_expand_rounddf_32 (rtx operand0, rtx operand1) return x2; */ enum machine_mode mode = GET_MODE (operand0); - rtx xa, xa2, dxa, TWO52, tmp, label, half, mhalf, one, res, mask; + rtx xa, xa2, dxa, TWO52, tmp, half, mhalf, one, res, mask; + rtx_code_label label; TWO52 = ix86_gen_TWO52 (mode); @@ -39475,7 +39480,8 @@ ix86_expand_trunc (rtx operand0, rtx operand1) return x2; */ enum machine_mode mode = GET_MODE (operand0); - rtx xa, xi, TWO52, label, res, mask; + rtx xa, xi, TWO52, res, mask; + rtx_code_label label; TWO52 = ix86_gen_TWO52 (mode); @@ -39510,7 +39516,8 @@ void ix86_expand_truncdf_32 (rtx operand0, rtx operand1) { enum machine_mode mode = GET_MODE (operand0); - rtx xa, mask, TWO52, label, one, res, smask, tmp; + rtx xa, mask, TWO52, one, res, smask, tmp; + rtx_code_label label; /* C code for SSE variant we expand below. double xa = fabs (x), x2; @@ -39575,7 +39582,8 @@ ix86_expand_round (rtx operand0, rtx operand1) return copysign (xa, x); */ enum machine_mode mode = GET_MODE (operand0); - rtx res, TWO52, xa, label, xi, half, mask; + rtx res, TWO52, xa, xi, half, mask; + rtx_code_label label; const struct real_format *fmt; REAL_VALUE_TYPE pred_half, half_minus_pred_half; diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index b11f413..a1c0fd6 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -4926,8 +4926,8 @@ emit_call_insn (rtx x) /* Add the label LABEL to the end of the doubly-linked list. */ -rtx -emit_label (rtx label) +rtx_base_insn +emit_label (rtx_base_insn label) { gcc_checking_assert (INSN_UID (label) == 0); INSN_UID (label) = cur_insn_uid++; diff --git a/gcc/expr.c b/gcc/expr.c index a0f0098..cc0f6b3 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8837,7 +8837,7 @@ expand_expr_real_2 (sepops ops, rtx target, enum machine_mode tmode, (rtx_code_label )temp, -1); } emit_move_insn (target, op1); - emit_label (temp); + emit_label (temp->as_an_rtx_base_insn ()); return target; case BIT_NOT_EXPR: diff --git a/gcc/rtl.h b/gcc/rtl.h index 9890244..a4f7541 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -2153,7 +2153,7 @@ extern rtx_base_insn emit_insn (rtx); extern rtx emit_debug_insn (rtx); extern rtx emit_jump_insn (rtx); extern rtx emit_call_insn (rtx); -extern rtx emit_label (rtx); +extern rtx_base_insn emit_label (rtx_base_insn); extern rtx_jump_table_data emit_jump_table_data (rtx); extern rtx emit_barrier (void); extern rtx_note emit_note (enum insn_note); diff --git a/gcc/stmt.c b/gcc/stmt.c index 5c69adf..5305de8 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -176,7 +176,7 @@ emit_jump (rtx label) void expand_label (tree label) { - rtx label_r = label_rtx (label); + rtx_code_label label_r = label_rtx (label); do_pending_stack_adjust (); emit_label (label_r); -- 1.7.11.7