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?

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

Reply via email to