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

Reply via email to