On Tue, Sep 27, 2016 at 11:06 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Tue, Sep 27, 2016 at 10:02:03AM +0200, Richard Biener wrote: >> > ix86_simd_clone_usable): Remove break after return. > > And after scripting this a little bit: > #/bin/awk -f > /^[[:blank:]]+return[[:blank:]]/ { L1=$0; > PP=gensub(/^([[:blank:]]+)return.*$/,"\\1","",L1); next; } > /^[[:blank:]]+break/ { if (PP) { > PQ=gensub(/^([[:blank:]]+)break.*$/,"\\1","",$0); if (PP == PQ) { print L1; > print $0 } PP=""; } next } > { PP=""; } > > I found lots of other spots where we have useless break; right after return > stmt. IMHO it is just too confusing to keep them around, ok for trunk if > this passes bootstrap/regtest?
Ok (this counts as obvious changes IMHO). Richard. > 2016-09-27 Jakub Jelinek <ja...@redhat.com> > > * auto-inc-dec.c (try_merge): Remove break after return. > * cselib.c (autoinc_split): Likewise. > * explow.c (promote_mode): Likewise. > * fixed-value.c (fixed_arithmetic): Likewise. > * hsa.c (hsa_internal_fn::get_arity): Likewise. > * rtlanal.c (modified_between_p, modified_in_p): Likewise. > * trans-mem.c (get_attrs_for): Likewise. > * tree-if-conv.c (if_convertible_stmt_p): Likewise. > * tree-vrp.c (simplify_stmt_using_ranges): Likewise. > * config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Likewise. > * config/aarch64/aarch64.c (aarch64_get_condition_code_1): Likewise. > * config/c6x/c6x.c (c6x_get_unit_specifier): Likewise. > * config/cr16/cr16.c (legitimate_pic_operand_p): Likewise. > * config/cris/cris.c (cris_op_str): Likewise. > * config/mn10300/mn10300.c (cc_flags_for_code): Likewise. > * config/tilepro/tilepro.c (tilepro_emit_setcc_internal_di): Likewise. > c-family/ > * c-ada-spec.c (print_ada_declaration): Remove break after return. > objc/ > * objc-act.c (continue_class): Remove break after return. > (objc_maybe_printable_name): Likewise. > fortran/ > * dependency.c (gfc_dep_compare_expr): Remove break after return. > * frontend-passes.c (optimize_op): Likewise. > * interface.c (gfc_current_interface_head): Likewise. > * symbol.c (check_conflict): Likewise. > * trans-intrinsic.c (build_fix_expr): Likewise. > ada/ > * terminals.c (is_gui_app): Remove break after return. > > --- gcc/auto-inc-dec.c.jj 2016-01-04 14:55:53.000000000 +0100 > +++ gcc/auto-inc-dec.c 2016-09-27 10:29:15.510619645 +0200 > @@ -658,25 +658,21 @@ try_merge (void) > if (dump_file) > fprintf (dump_file, "trying SIMPLE_PRE_INC\n"); > return attempt_change (gen_rtx_PRE_INC (reg_mode, inc_reg), inc_reg); > - break; > > case SIMPLE_POST_INC: /* size++ */ > if (dump_file) > fprintf (dump_file, "trying SIMPLE_POST_INC\n"); > return attempt_change (gen_rtx_POST_INC (reg_mode, inc_reg), inc_reg); > - break; > > case SIMPLE_PRE_DEC: /* --size */ > if (dump_file) > fprintf (dump_file, "trying SIMPLE_PRE_DEC\n"); > return attempt_change (gen_rtx_PRE_DEC (reg_mode, inc_reg), inc_reg); > - break; > > case SIMPLE_POST_DEC: /* size-- */ > if (dump_file) > fprintf (dump_file, "trying SIMPLE_POST_DEC\n"); > return attempt_change (gen_rtx_POST_DEC (reg_mode, inc_reg), inc_reg); > - break; > > case DISP_PRE: /* ++con */ > if (dump_file) > @@ -687,7 +683,6 @@ try_merge (void) > inc_reg, > > inc_insn.reg1)), > inc_reg); > - break; > > case DISP_POST: /* con++ */ > if (dump_file) > @@ -698,7 +693,6 @@ try_merge (void) > inc_reg, > > inc_insn.reg1)), > inc_reg); > - break; > > case REG_PRE: /* ++reg */ > if (dump_file) > @@ -709,7 +703,6 @@ try_merge (void) > inc_reg, > > inc_insn.reg1)), > inc_reg); > - break; > > case REG_POST: /* reg++ */ > if (dump_file) > @@ -720,7 +713,6 @@ try_merge (void) > inc_reg, > > inc_insn.reg1)), > inc_reg); > - break; > } > } > > --- gcc/cselib.c.jj 2016-08-10 00:21:08.000000000 +0200 > +++ gcc/cselib.c 2016-09-27 10:29:42.125282563 +0200 > @@ -805,7 +805,6 @@ autoinc_split (rtx x, rtx *off, machine_ > > *off = GEN_INT (-GET_MODE_SIZE (memmode)); > return XEXP (x, 0); > - break; > > case PRE_INC: > if (memmode == VOIDmode) > --- gcc/explow.c.jj 2016-09-05 19:27:05.000000000 +0200 > +++ gcc/explow.c 2016-09-27 10:30:05.435987326 +0200 > @@ -802,7 +802,6 @@ promote_mode (const_tree type ATTRIBUTE_ > PROMOTE_MODE (mode, unsignedp, type); > *punsignedp = unsignedp; > return mode; > - break; > > #ifdef POINTERS_EXTEND_UNSIGNED > case REFERENCE_TYPE: > @@ -810,7 +809,6 @@ promote_mode (const_tree type ATTRIBUTE_ > *punsignedp = POINTERS_EXTEND_UNSIGNED; > return targetm.addr_space.address_mode > (TYPE_ADDR_SPACE (TREE_TYPE (type))); > - break; > #endif > > default: > --- gcc/fixed-value.c.jj 2016-01-04 14:55:52.000000000 +0100 > +++ gcc/fixed-value.c 2016-09-27 10:30:22.692768763 +0200 > @@ -730,35 +730,28 @@ fixed_arithmetic (FIXED_VALUE_TYPE *f, i > { > case NEGATE_EXPR: > return do_fixed_neg (f, op0, sat_p); > - break; > > case PLUS_EXPR: > gcc_assert (op0->mode == op1->mode); > return do_fixed_add (f, op0, op1, false, sat_p); > - break; > > case MINUS_EXPR: > gcc_assert (op0->mode == op1->mode); > return do_fixed_add (f, op0, op1, true, sat_p); > - break; > > case MULT_EXPR: > gcc_assert (op0->mode == op1->mode); > return do_fixed_multiply (f, op0, op1, sat_p); > - break; > > case TRUNC_DIV_EXPR: > gcc_assert (op0->mode == op1->mode); > return do_fixed_divide (f, op0, op1, sat_p); > - break; > > case LSHIFT_EXPR: > return do_fixed_shift (f, op0, op1, true, sat_p); > - break; > > case RSHIFT_EXPR: > return do_fixed_shift (f, op0, op1, false, sat_p); > - break; > > default: > gcc_unreachable (); > --- gcc/hsa.c.jj 2016-04-01 17:21:31.000000000 +0200 > +++ gcc/hsa.c 2016-09-27 10:30:43.226508698 +0200 > @@ -947,7 +947,6 @@ hsa_internal_fn::get_arity () > case IFN_SCALB: > case IFN_LDEXP: > return 2; > - break; > case IFN_CLRSB: > case IFN_CLZ: > case IFN_CTZ: > --- gcc/rtlanal.c.jj 2016-09-16 22:19:38.000000000 +0200 > +++ gcc/rtlanal.c 2016-09-27 10:31:56.008586891 +0200 > @@ -1244,7 +1244,6 @@ modified_between_p (const_rtx x, const r > if (memory_modified_in_insn_p (x, insn)) > return 1; > return 0; > - break; > > case REG: > return reg_set_between_p (x, start, end); > @@ -1299,7 +1298,6 @@ modified_in_p (const_rtx x, const_rtx in > if (memory_modified_in_insn_p (x, insn)) > return 1; > return 0; > - break; > > case REG: > return reg_set_p (x, insn); > --- gcc/trans-mem.c.jj 2016-05-03 14:12:19.000000000 +0200 > +++ gcc/trans-mem.c 2016-09-27 10:32:09.775412530 +0200 > @@ -165,7 +165,6 @@ get_attrs_for (const_tree x) > { > case FUNCTION_DECL: > return TYPE_ATTRIBUTES (TREE_TYPE (x)); > - break; > > default: > if (TYPE_P (x)) > --- gcc/tree-if-conv.c.jj 2016-08-18 12:45:22.000000000 +0200 > +++ gcc/tree-if-conv.c 2016-09-27 10:32:23.708236066 +0200 > @@ -1050,7 +1050,6 @@ if_convertible_stmt_p (gimple *stmt, vec > print_gimple_stmt (dump_file, stmt, 0, TDF_SLIM); > } > return false; > - break; > } > > return true; > --- gcc/tree-vrp.c.jj 2016-09-27 09:46:07.000000000 +0200 > +++ gcc/tree-vrp.c 2016-09-27 10:32:46.822943312 +0200 > @@ -10215,7 +10215,6 @@ simplify_stmt_using_ranges (gimple_stmt_ > case MIN_EXPR: > case MAX_EXPR: > return simplify_min_or_max_using_ranges (stmt); > - break; > > default: > break; > --- gcc/config/aarch64/aarch64-builtins.c.jj 2016-09-13 19:06:26.000000000 > +0200 > +++ gcc/config/aarch64/aarch64-builtins.c 2016-09-27 10:52:44.303729325 > +0200 > @@ -1460,7 +1460,6 @@ aarch64_fold_builtin (tree fndecl, int n > { > BUILTIN_VDQF (UNOP, abs, 2) > return fold_build1 (ABS_EXPR, type, args[0]); > - break; > VAR1 (UNOP, floatv2si, 2, v2sf) > VAR1 (UNOP, floatv4si, 2, v4sf) > VAR1 (UNOP, floatv2di, 2, v2df) > --- gcc/config/aarch64/aarch64.c.jj 2016-09-27 09:46:13.000000000 +0200 > +++ gcc/config/aarch64/aarch64.c 2016-09-27 10:52:58.014555073 +0200 > @@ -4433,7 +4433,6 @@ aarch64_get_condition_code_1 (enum machi > > default: > return -1; > - break; > } > > return -1; > --- gcc/config/c6x/c6x.c.jj 2016-09-23 09:32:16.000000000 +0200 > +++ gcc/config/c6x/c6x.c 2016-09-27 10:53:18.782291133 +0200 > @@ -1987,17 +1987,13 @@ c6x_get_unit_specifier (rtx_insn *insn) > case UNITS_DLS: > case UNITS_D_ADDR: > return 'd'; > - break; > case UNITS_L: > case UNITS_LS: > return 'l'; > - break; > case UNITS_S: > return 's'; > - break; > case UNITS_M: > return 'm'; > - break; > default: > gcc_unreachable (); > } > --- gcc/config/cr16/cr16.c.jj 2016-09-14 16:01:10.000000000 +0200 > +++ gcc/config/cr16/cr16.c 2016-09-27 10:53:43.110981802 +0200 > @@ -1120,10 +1120,8 @@ legitimate_pic_operand_p (rtx x) > { > case SYMBOL_REF: > return 0; > - break; > case LABEL_REF: > return 0; > - break; > case CONST: > /* REVISIT: Use something like symbol_referenced_p. */ > if (GET_CODE (XEXP (x, 0)) == PLUS > @@ -1134,7 +1132,6 @@ legitimate_pic_operand_p (rtx x) > break; > case MEM: > return legitimate_pic_operand_p (XEXP (x, 0)); > - break; > default: > break; > } > --- gcc/config/cris/cris.c.jj 2016-09-23 09:32:16.000000000 +0200 > +++ gcc/config/cris/cris.c 2016-09-27 10:54:07.405672880 +0200 > @@ -544,11 +544,9 @@ cris_op_str (rtx x) > { > case PLUS: > return "add"; > - break; > > case MINUS: > return "sub"; > - break; > > case MULT: > /* This function is for retrieving a part of an instruction name for > @@ -560,46 +558,36 @@ cris_op_str (rtx x) > > case DIV: > return "div"; > - break; > > case AND: > return "and"; > - break; > > case IOR: > return "or"; > - break; > > case XOR: > return "xor"; > - break; > > case NOT: > return "not"; > - break; > > case ASHIFT: > return "lsl"; > - break; > > case LSHIFTRT: > return "lsr"; > - break; > > case ASHIFTRT: > return "asr"; > - break; > > case UMIN: > /* Used to control the sign/zero-extend character for the 'E' modifier. > BOUND has none. */ > cris_output_insn_is_bound = 1; > return "bound"; > - break; > > default: > return "Unknown operator"; > - break; > } > } > > --- gcc/config/mn10300/mn10300.c.jj 2016-09-14 16:01:09.000000000 +0200 > +++ gcc/config/mn10300/mn10300.c 2016-09-27 10:54:30.375380805 +0200 > @@ -2693,7 +2693,6 @@ cc_flags_for_code (enum rtx_code code) > case LT: /* N */ > case GE: /* ~N */ > return CC_FLAG_N; > - break; > > case GT: /* ~(Z|(N^V)) */ > case LE: /* Z|(N^V) */ > --- gcc/config/tilepro/tilepro.c.jj 2016-09-14 16:01:09.000000000 +0200 > +++ gcc/config/tilepro/tilepro.c 2016-09-27 10:54:52.187103456 +0200 > @@ -2137,13 +2137,11 @@ tilepro_emit_setcc_internal_di (rtx res, > emit_insn (gen_insn_seq (tmp1, hi_half[0], hi_half[1])); > emit_insn (gen_andsi3 (res, tmp0, tmp1)); > return true; > - break; > case NE: > emit_insn (gen_insn_sne (tmp0, lo_half[0], lo_half[1])); > emit_insn (gen_insn_sne (tmp1, hi_half[0], hi_half[1])); > emit_insn (gen_iorsi3 (res, tmp0, tmp1)); > return true; > - break; > case LE: > emit_insn (gen_insn_slte (tmp0, hi_half[0], hi_half[1])); > emit_insn (gen_insn_seq (tmp1, hi_half[0], hi_half[1])); > --- gcc/c-family/c-ada-spec.c.jj 2016-09-02 18:17:27.000000000 +0200 > +++ gcc/c-family/c-ada-spec.c 2016-09-27 10:50:05.265750558 +0200 > @@ -2902,7 +2902,6 @@ print_ada_declaration (pretty_printer *b > pp_string (buffer, "-- skipped function type "); > dump_generic_ada_node (buffer, t, type, spc, false, true); > return 1; > - break; > > case ENUMERAL_TYPE: > if ((orig && TYPE_NAME (orig) && orig != TREE_TYPE (t)) > --- gcc/objc/objc-act.c.jj 2016-06-07 17:44:04.000000000 +0200 > +++ gcc/objc/objc-act.c 2016-09-27 10:52:23.992987457 +0200 > @@ -7054,7 +7054,6 @@ continue_class (tree klass) > #endif /* OBJCPLUS */ > > return get_class_ivars (implementation_template, true); > - break; > } > case CLASS_INTERFACE_TYPE: > { > @@ -7070,7 +7069,6 @@ continue_class (tree klass) > pop_lang_context (); > #endif /* OBJCPLUS */ > return NULL_TREE; > - break; > } > default: > return error_mark_node; > @@ -9279,7 +9277,6 @@ objc_maybe_printable_name (tree decl, in > { > case FUNCTION_DECL: > return objc_demangle (IDENTIFIER_POINTER (DECL_NAME (decl))); > - break; > > /* The following happens when we are printing a deprecation > warning for a method. The warn_deprecation() will end up > @@ -9294,17 +9291,14 @@ objc_maybe_printable_name (tree decl, in > case INSTANCE_METHOD_DECL: > case CLASS_METHOD_DECL: > return IDENTIFIER_POINTER (DECL_NAME (decl)); > - break; > /* This happens when printing a deprecation warning for a > property. We may want to consider some sort of pretty > printing (eg, include the class name where it was declared > ?). */ > case PROPERTY_DECL: > return IDENTIFIER_POINTER (PROPERTY_NAME (decl)); > - break; > default: > return NULL; > - break; > } > } > > --- gcc/fortran/dependency.c.jj 2016-09-26 12:06:44.000000000 +0200 > +++ gcc/fortran/dependency.c 2016-09-27 10:50:34.163383295 +0200 > @@ -486,7 +486,6 @@ gfc_dep_compare_expr (gfc_expr *e1, gfc_ > > case EXPR_FUNCTION: > return gfc_dep_compare_functions (e1, e2, false); > - break; > > default: > return -2; > --- gcc/fortran/frontend-passes.c.jj 2016-09-26 12:06:44.000000000 +0200 > +++ gcc/fortran/frontend-passes.c 2016-09-27 10:50:48.976195037 +0200 > @@ -1491,7 +1491,6 @@ optimize_op (gfc_expr *e) > > case INTRINSIC_POWER: > return optimize_power (e); > - break; > > default: > break; > --- gcc/fortran/interface.c.jj 2016-09-27 09:46:11.000000000 +0200 > +++ gcc/fortran/interface.c 2016-09-27 10:51:11.692906327 +0200 > @@ -4306,16 +4306,13 @@ gfc_current_interface_head (void) > { > case INTERFACE_INTRINSIC_OP: > return current_interface.ns->op[current_interface.op]; > - break; > > case INTERFACE_GENERIC: > case INTERFACE_DTIO: > return current_interface.sym->generic; > - break; > > case INTERFACE_USER_OP: > return current_interface.uop->op; > - break; > > default: > gcc_unreachable (); > --- gcc/fortran/symbol.c.jj 2016-09-26 12:06:44.000000000 +0200 > +++ gcc/fortran/symbol.c 2016-09-27 10:51:20.103799432 +0200 > @@ -464,7 +464,6 @@ check_conflict (symbol_attribute *attr, > gfc_error ("Namelist group name at %L cannot have the " > "SAVE attribute", where); > return false; > - break; > case FL_PROCEDURE: > /* Conflicts between SAVE and PROCEDURE will be checked at > resolution stage, see "resolve_fl_procedure". */ > --- gcc/fortran/trans-intrinsic.c.jj 2016-09-23 18:55:40.000000000 +0200 > +++ gcc/fortran/trans-intrinsic.c 2016-09-27 10:51:32.725639020 +0200 > @@ -410,19 +410,15 @@ build_fix_expr (stmtblock_t * pblock, tr > { > case RND_FLOOR: > return build_fixbound_expr (pblock, arg, type, 0); > - break; > > case RND_CEIL: > return build_fixbound_expr (pblock, arg, type, 1); > - break; > > case RND_ROUND: > return build_round_expr (arg, type); > - break; > > case RND_TRUNC: > return fold_build1_loc (input_location, FIX_TRUNC_EXPR, type, arg); > - break; > > default: > gcc_unreachable (); > --- gcc/ada/terminals.c.jj 2016-02-12 00:50:55.000000000 +0100 > +++ gcc/ada/terminals.c 2016-09-27 10:33:42.042243943 +0200 > @@ -289,34 +289,27 @@ is_gui_app (char *exe) > { > case IMAGE_SUBSYSTEM_UNKNOWN: > return 1; > - break; > > case IMAGE_SUBSYSTEM_NATIVE: > return 1; > - break; > > case IMAGE_SUBSYSTEM_WINDOWS_GUI: > return 1; > - break; > > case IMAGE_SUBSYSTEM_WINDOWS_CUI: > return 0; > - break; > > case IMAGE_SUBSYSTEM_OS2_CUI: > return 0; > - break; > > case IMAGE_SUBSYSTEM_POSIX_CUI: > return 0; > - break; > > default: > /* Unknown, return GUI app to be preservative: if yes, it will be > correctly launched, if no, it will be launched, and a console will > be also displayed, which is not a big deal */ > return 1; > - break; > } > > } > > > Jakub