From e989288cc17def5331ee0346969987e975a1a8ec Mon Sep 17 00:00:00 2001 From: tbsaunde Date: Wed, 22 Apr 2015 00:44:20 +0000 Subject: [PATCH] remove more ifdef HAVE_cc0 gcc/ChangeLog: 2015-04-21 Trevor Saunders * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code that is trivially ded on non cc0 targets. (simplify_set): Likewise. (mark_used_regs_combine): Likewise. * cse.c (new_basic_block): Likewise. (fold_rtx): Likewise. (cse_insn): Likewise. (cse_extended_basic_block): Likewise. (set_live_p): Likewise. * rtlanal.c (canonicalize_condition): Likewise. * simplify-rtx.c (simplify_binary_operation_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222295 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/combine.c | 6 ------ gcc/cse.c | 18 ------------------ gcc/rtlanal.c | 2 -- gcc/simplify-rtx.c | 5 ++--- 5 files changed, 16 insertions(+), 29 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4448d31..9d51cd6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,19 @@ 2015-04-21 Trevor Saunders + * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code + that is trivially ded on non cc0 targets. + (simplify_set): Likewise. + (mark_used_regs_combine): Likewise. + * cse.c (new_basic_block): Likewise. + (fold_rtx): Likewise. + (cse_insn): Likewise. + (cse_extended_basic_block): Likewise. + (set_live_p): Likewise. + * rtlanal.c (canonicalize_condition): Likewise. + * simplify-rtx.c (simplify_binary_operation_1): Likewise. + +2015-04-21 Trevor Saunders + * conditions.h: Define macros even if HAVE_cc0 is undefined. * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. * final.c: Likewise. diff --git a/gcc/combine.c b/gcc/combine.c index 46cd6db..0a35b8f 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -686,7 +686,6 @@ find_single_use (rtx dest, rtx_insn *insn, rtx_insn **ploc) rtx *result; struct insn_link *link; -#ifdef HAVE_cc0 if (dest == cc0_rtx) { next = NEXT_INSN (insn); @@ -699,7 +698,6 @@ find_single_use (rtx dest, rtx_insn *insn, rtx_insn **ploc) *ploc = next; return result; } -#endif if (!REG_P (dest)) return 0; @@ -6724,7 +6722,6 @@ simplify_set (rtx x) src = SET_SRC (x), dest = SET_DEST (x); } -#ifdef HAVE_cc0 /* If we have (set (cc0) (subreg ...)), we try to remove the subreg in SRC. */ if (dest == cc0_rtx @@ -6744,7 +6741,6 @@ simplify_set (rtx x) src = SET_SRC (x); } } -#endif #ifdef LOAD_EXTEND_OP /* If we have (set FOO (subreg:M (mem:N BAR) 0)) with M wider than N, this @@ -13193,11 +13189,9 @@ mark_used_regs_combine (rtx x) case ADDR_VEC: case ADDR_DIFF_VEC: case ASM_INPUT: -#ifdef HAVE_cc0 /* CC0 must die in the insn after it is set, so we don't need to take special note of it here. */ case CC0: -#endif return; case CLOBBER: diff --git a/gcc/cse.c b/gcc/cse.c index d7638f0..ef5eb8c 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -281,7 +281,6 @@ struct qty_table_elem /* The table of all qtys, indexed by qty number. */ static struct qty_table_elem *qty_table; -#ifdef HAVE_cc0 /* For machines that have a CC0, we do not record its value in the hash table since its use is guaranteed to be the insn immediately following its definition and any other insn is presumed to invalidate it. @@ -293,7 +292,6 @@ static struct qty_table_elem *qty_table; static rtx this_insn_cc0, prev_insn_cc0; static machine_mode this_insn_cc0_mode, prev_insn_cc0_mode; -#endif /* Insn being scanned. */ @@ -884,9 +882,7 @@ new_basic_block (void) } } -#ifdef HAVE_cc0 prev_insn_cc0 = 0; -#endif } /* Say that register REG contains a quantity in mode MODE not in any @@ -3175,10 +3171,8 @@ fold_rtx (rtx x, rtx_insn *insn) case EXPR_LIST: return x; -#ifdef HAVE_cc0 case CC0: return prev_insn_cc0; -#endif case ASM_OPERANDS: if (insn) @@ -3232,7 +3226,6 @@ fold_rtx (rtx x, rtx_insn *insn) const_arg = folded_arg; break; -#ifdef HAVE_cc0 case CC0: /* The cc0-user and cc0-setter may be in different blocks if the cc0-setter potentially traps. In that case PREV_INSN_CC0 @@ -3256,7 +3249,6 @@ fold_rtx (rtx x, rtx_insn *insn) const_arg = equiv_constant (folded_arg); } break; -#endif default: folded_arg = fold_rtx (folded_arg, insn); @@ -4531,11 +4523,9 @@ cse_insn (rtx_insn *insn) sets = XALLOCAVEC (struct set, XVECLEN (x, 0)); this_insn = insn; -#ifdef HAVE_cc0 /* Records what this insn does to set CC0. */ this_insn_cc0 = 0; this_insn_cc0_mode = VOIDmode; -#endif /* Find all regs explicitly clobbered in this insn, to ensure they are not replaced with any other regs @@ -5550,7 +5540,6 @@ cse_insn (rtx_insn *insn) } } -#ifdef HAVE_cc0 /* If setting CC0, record what it was set to, or a constant, if it is equivalent to a constant. If it is being set to a floating-point value, make a COMPARE with the appropriate constant of 0. If we @@ -5565,7 +5554,6 @@ cse_insn (rtx_insn *insn) this_insn_cc0 = gen_rtx_COMPARE (VOIDmode, this_insn_cc0, CONST0_RTX (mode)); } -#endif } /* Now enter all non-volatile source expressions in the hash table @@ -6613,11 +6601,9 @@ cse_extended_basic_block (struct cse_basic_block_data *ebb_data) record_jump_equiv (insn, taken); } -#ifdef HAVE_cc0 /* Clear the CC0-tracking related insns, they can't provide useful information across basic block boundaries. */ prev_insn_cc0 = 0; -#endif } gcc_assert (next_qty <= max_qty); @@ -6868,21 +6854,17 @@ static bool set_live_p (rtx set, rtx_insn *insn ATTRIBUTE_UNUSED, /* Only used with HAVE_cc0. */ int *counts) { -#ifdef HAVE_cc0 rtx tem; -#endif if (set_noop_p (set)) ; -#ifdef HAVE_cc0 else if (GET_CODE (SET_DEST (set)) == CC0 && !side_effects_p (SET_SRC (set)) && ((tem = next_nonnote_nondebug_insn (insn)) == NULL_RTX || !INSN_P (tem) || !reg_referenced_p (cc0_rtx, PATTERN (tem)))) return false; -#endif else if (!is_dead_reg (SET_DEST (set), counts) || side_effects_p (SET_SRC (set))) return true; diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 743aad6..2377f25a 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -5035,7 +5035,6 @@ canonicalize_condition (rtx_insn *insn, rtx cond, int reverse, /* Set nonzero when we find something of interest. */ rtx x = 0; -#ifdef HAVE_cc0 /* If comparison with cc0, import actual comparison from compare insn. */ if (op0 == cc0_rtx) @@ -5051,7 +5050,6 @@ canonicalize_condition (rtx_insn *insn, rtx cond, int reverse, if (earliest) *earliest = prev; } -#endif /* If this is a COMPARE, pick up the two things being compared. */ if (GET_CODE (op0) == COMPARE) diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 4b18d3c..b85ef99 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -2180,15 +2180,14 @@ simplify_binary_operation_1 (enum rtx_code code, machine_mode mode, rtx xop00 = XEXP (op0, 0); rtx xop10 = XEXP (op1, 0); -#ifdef HAVE_cc0 if (GET_CODE (xop00) == CC0 && GET_CODE (xop10) == CC0) -#else + return xop00; + if (REG_P (xop00) && REG_P (xop10) && GET_MODE (xop00) == GET_MODE (xop10) && REGNO (xop00) == REGNO (xop10) && GET_MODE_CLASS (GET_MODE (xop00)) == MODE_CC && GET_MODE_CLASS (GET_MODE (xop10)) == MODE_CC) -#endif return xop00; } break; -- 2.7.4