From 759df569f189ce9e4d015c5b46ea5e2107923c69 Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Fri, 22 May 2015 01:04:09 +0000 Subject: [PATCH] always define HAVE_conditional_move gcc/ChangeLog: 2015-05-20 Trevor Saunders * genconfig.c (main): Always define HAVE_conditional_move. * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h, toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move is defined. From-SVN: r223517 --- gcc/ChangeLog | 7 +++++++ gcc/combine.c | 2 +- gcc/expmed.c | 4 ++-- gcc/expr.c | 8 ++++---- gcc/genconfig.c | 2 ++ gcc/ifcvt.c | 11 ----------- gcc/optabs.c | 6 +++--- gcc/optabs.h | 2 +- gcc/toplev.c | 2 +- gcc/tree-ssa-phiopt.c | 4 ---- 10 files changed, 21 insertions(+), 27 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f0969990405..ac1933a0a9a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-05-20 Trevor Saunders + + * genconfig.c (main): Always define HAVE_conditional_move. + * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h, + toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move + is defined. + 2015-05-20 Trevor Saunders * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c, diff --git a/gcc/combine.c b/gcc/combine.c index ff7bced7516..3f96bbca4bf 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -6818,7 +6818,7 @@ simplify_set (rtx x) && (GET_CODE (XEXP (src, 0)) == EQ || GET_CODE (XEXP (src, 0)) == NE) && XEXP (XEXP (src, 0), 1) == const0_rtx && GET_MODE (src) == GET_MODE (XEXP (XEXP (src, 0), 0)) -#ifdef HAVE_conditional_move +#if HAVE_conditional_move && ! can_conditionally_move_p (GET_MODE (src)) #endif && (num_sign_bit_copies (XEXP (XEXP (src, 0), 0), diff --git a/gcc/expmed.c b/gcc/expmed.c index c95299cdf97..589a7a3d0e5 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3797,7 +3797,7 @@ expand_sdiv_pow2 (machine_mode mode, rtx op0, HOST_WIDE_INT d) return expand_shift (RSHIFT_EXPR, mode, temp, logd, NULL_RTX, 0); } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move if (BRANCH_COST (optimize_insn_for_speed_p (), false) >= 2) { @@ -5555,7 +5555,7 @@ emit_store_flag (rtx target, enum rtx_code code, rtx op0, rtx op1, target_mode); } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Try using a setcc instruction for ORDERED/UNORDERED, followed by a conditional move. */ tem = emit_store_flag_1 (subtarget, first_code, op0, op1, mode, 0, diff --git a/gcc/expr.c b/gcc/expr.c index 275c636a4db..efbf9fb9149 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2423,7 +2423,7 @@ get_def_for_expr (tree name, enum tree_code code) return def_stmt; } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Return the defining gimple statement for SSA_NAME NAME if it is an assigment and the class of the expresion on the RHS is CLASS. Return NULL otherwise. */ @@ -7517,7 +7517,7 @@ highest_pow2_factor_for_target (const_tree target, const_tree exp) return MAX (factor, talign); } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Convert the tree comparison code TCODE to the rtl one where the signedness is UNSIGNEDP. */ @@ -8021,7 +8021,7 @@ expand_cond_expr_using_cmove (tree treeop0 ATTRIBUTE_UNUSED, tree treeop1 ATTRIBUTE_UNUSED, tree treeop2 ATTRIBUTE_UNUSED) { -#ifdef HAVE_conditional_move +#if HAVE_conditional_move rtx insn; rtx op00, op01, op1, op2; enum rtx_code comparison_code; @@ -8892,7 +8892,7 @@ expand_expr_real_2 (sepops ops, rtx target, machine_mode tmode, if (code == MIN_EXPR) comparison_code = LT; } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Use a conditional move if possible. */ if (can_conditionally_move_p (mode)) { diff --git a/gcc/genconfig.c b/gcc/genconfig.c index 2247eef13c7..a3e5b3111ff 100644 --- a/gcc/genconfig.c +++ b/gcc/genconfig.c @@ -352,6 +352,8 @@ main (int argc, char **argv) if (have_cmove_flag) printf ("#define HAVE_conditional_move 1\n"); + else + printf ("#define HAVE_conditional_move 0\n"); if (have_cond_exec_flag) printf ("#define HAVE_conditional_execution 1\n"); diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index b00aaa4afb9..37117b7e5ef 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -72,9 +72,6 @@ #include "shrink-wrap.h" #include "ifcvt.h" -#ifndef HAVE_conditional_move -#define HAVE_conditional_move 0 -#endif #ifndef HAVE_incscc #define HAVE_incscc 0 #endif @@ -1505,7 +1502,6 @@ noce_emit_cmove (struct noce_if_info *if_info, rtx x, enum rtx_code code, return NULL_RTX; } -#if HAVE_conditional_move unsignedp = (code == LTU || code == GEU || code == LEU || code == GTU); @@ -1562,13 +1558,6 @@ noce_emit_cmove (struct noce_if_info *if_info, rtx x, enum rtx_code code, } else return NULL_RTX; -#else - /* We'll never get here, as noce_process_if_block doesn't call the - functions involved. Ifdef code, however, should be discouraged - because it leads to typos in the code not selected. However, - emit_conditional_move won't exist either. */ - return NULL_RTX; -#endif } /* Try only simple constants and registers here. More complex cases diff --git a/gcc/optabs.c b/gcc/optabs.c index 26dbe8764f2..7a791489c71 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -929,7 +929,7 @@ expand_subword_shift (machine_mode op1_mode, optab binoptab, } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Try implementing expand_doubleword_shift using conditional moves. The shift is by < BITS_PER_WORD if (CMP_CODE CMP1 CMP2) is true, otherwise it is by >= BITS_PER_WORD. SUBWORD_OP1 and SUPERWORD_OP1 @@ -1096,7 +1096,7 @@ expand_doubleword_shift (machine_mode op1_mode, optab binoptab, unsignedp, methods, shift_mask); } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Try using conditional moves to generate straight-line code. */ { rtx_insn *start = get_last_insn (); @@ -4518,7 +4518,7 @@ emit_indirect_jump (rtx loc ATTRIBUTE_UNUSED) #endif } -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Emit a conditional move instruction if the machine supports one for that condition and machine mode. diff --git a/gcc/optabs.h b/gcc/optabs.h index 5c30ce5767a..ff45eb86993 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -364,7 +364,7 @@ extern void emit_indirect_jump (rtx); #error "insn-config.h must be included before optabs.h" #endif -#ifdef HAVE_conditional_move +#if HAVE_conditional_move /* Emit a conditional move operation. */ rtx emit_conditional_move (rtx, enum rtx_code, rtx, rtx, machine_mode, rtx, rtx, machine_mode, int); diff --git a/gcc/toplev.c b/gcc/toplev.c index c73368f9fd4..9be15d784e4 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1576,7 +1576,7 @@ process_options (void) warning (0, "var-tracking-assignments changes selective scheduling"); if (flag_tree_cselim == AUTODETECT_VALUE) -#ifdef HAVE_conditional_move +#if HAVE_conditional_move flag_tree_cselim = 1; #else flag_tree_cselim = 0; diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index 09d6f674910..b8c77ab0816 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -83,10 +83,6 @@ along with GCC; see the file COPYING3. If not see #include "tree-scalar-evolution.h" #include "tree-inline.h" -#ifndef HAVE_conditional_move -#define HAVE_conditional_move (0) -#endif - static unsigned int tree_ssa_phiopt_worker (bool, bool); static bool conditional_replacement (basic_block, basic_block, edge, edge, gphi *, tree, tree);