From patchwork Mon Nov 29 13:09:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 48251 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1EFA53858438 for ; Mon, 29 Nov 2021 13:10:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1EFA53858438 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1638191435; bh=lWPjVM7zElSayYgqWOZ3C8/9aOKS3/I38c2VNxI2xh4=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=irWBHuLWrzWSbODgQBcP2LR8K3MMnZrJNSfWH0EgPk5uTDqfIHIc7ELpzncSME1ET OoIOua5luZQZ/eiYI9fULz9FdClId/wtCl0Bz/VjXtpaooPDjLcs/CJi0+vfb0Ncij 7t5tlkCcJWfxm49PIgUx/6oZwZY350ppds6sI3rE= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 5F62E3858438 for ; Mon, 29 Nov 2021 13:10:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5F62E3858438 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 4F18B1FD39 for ; Mon, 29 Nov 2021 13:10:00 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3ACFE13ABC for ; Mon, 29 Nov 2021 13:10:00 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id lmwXDSjRpGGwSgAAMHmgww (envelope-from ) for ; Mon, 29 Nov 2021 13:10:00 +0000 Date: Mon, 29 Nov 2021 14:09:59 +0100 (CET) To: gcc-patches@gcc.gnu.org Subject: [PATCH] Remove more stray returns and gcc_unreachable ()s Message-ID: <416nn390-9q5o-6sq0-4p83-nop7q87op6pr@fhfr.qr> MIME-Version: 1.0 X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Biener via Gcc-patches From: Richard Biener Reply-To: Richard Biener Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This removes more cases that appear when bootstrap with -Wunreachable-code-return progresses. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2021-11-29 Richard Biener * config/i386/i386.c (ix86_shift_rotate_cost): Remove unreachable return. * tree-chrec.c (evolution_function_is_invariant_rec_p): Likewise. * tree-if-conv.c (if_convertible_stmt_p): Likewise. * tree-ssa-pre.c (fully_constant_expression): Likewise. * tree-vrp.c (operand_less_p): Likewise. * reload.c (reg_overlap_mentioned_for_reload_p): Remove unreachable gcc_unreachable (). * sel-sched-ir.c (bb_next_bb): Likewise. * varasm.c (compare_constant): Likewise. gcc/cp/ * logic.cc (cnf_size_r): Remove unreachable and inconsistently placed gcc_unreachable ()s. * pt.c (iterative_hash_template_arg): Remove unreachable gcc_unreachable and return. gcc/fortran/ * target-memory.c (gfc_element_size): Remove unreachable return. gcc/objc/ * objc-act.c (objc_build_setter_call): Remove unreachable return. libcpp/ * charset.c (convert_escape): Remove unreachable break. --- gcc/config/i386/i386.c | 1 - gcc/cp/logic.cc | 2 -- gcc/cp/pt.c | 3 --- gcc/fortran/target-memory.c | 1 - gcc/objc/objc-act.c | 3 --- gcc/reload.c | 7 +++---- gcc/sel-sched-ir.h | 2 -- gcc/tree-chrec.c | 2 -- gcc/tree-if-conv.c | 2 -- gcc/tree-ssa-pre.c | 1 - gcc/tree-vrp.c | 2 -- gcc/varasm.c | 2 -- libcpp/charset.c | 1 - 13 files changed, 3 insertions(+), 26 deletions(-) diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 2657e7817ae..523cb55e279 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -20364,7 +20364,6 @@ ix86_shift_rotate_cost (const struct processor_costs *cost, else return cost->shift_var; } - return cost->shift_const; } /* Compute a (partial) cost for rtx X. Return true if the complete diff --git a/gcc/cp/logic.cc b/gcc/cp/logic.cc index 9d892b1473b..f31ae8c58ae 100644 --- a/gcc/cp/logic.cc +++ b/gcc/cp/logic.cc @@ -495,7 +495,6 @@ cnf_size_r (tree t) else /* Neither LHS nor RHS is a conjunction. */ return std::make_pair (0, false); - gcc_unreachable (); } if (conjunction_p (lhs)) { @@ -536,7 +535,6 @@ cnf_size_r (tree t) else /* Neither LHS nor RHS is a conjunction. */ return std::make_pair (2, false); - gcc_unreachable (); } if (conjunction_p (lhs)) { diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 74323701a7d..31ed773e145 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -1969,9 +1969,6 @@ iterative_hash_template_arg (tree arg, hashval_t val) val = iterative_hash_template_arg (TREE_OPERAND (arg, i), val); return val; } - - gcc_unreachable (); - return 0; } /* Unregister the specialization SPEC as a specialization of TMPL. diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c index 7b21a9e04e8..ab4665c6782 100644 --- a/gcc/fortran/target-memory.c +++ b/gcc/fortran/target-memory.c @@ -138,7 +138,6 @@ gfc_element_size (gfc_expr *e, size_t *siz) *siz = 0; return false; } - return true; } diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 9baa46d2243..89f46294123 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -1904,9 +1904,6 @@ objc_build_setter_call (tree lhs, tree rhs) setter_argument, NULL); return setter; } - - /* Unreachable, but the compiler may not realize. */ - return error_mark_node; } /* This hook routine is called when a MODIFY_EXPR is being built. We diff --git a/gcc/reload.c b/gcc/reload.c index 190db6ac47f..9ee3439709b 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6602,11 +6602,10 @@ reg_overlap_mentioned_for_reload_p (rtx x, rtx in) return (rtx_equal_p (x, in) || reg_overlap_mentioned_for_reload_p (x, XEXP (in, 0)) || reg_overlap_mentioned_for_reload_p (x, XEXP (in, 1))); - else return (reg_overlap_mentioned_for_reload_p (XEXP (x, 0), in) - || reg_overlap_mentioned_for_reload_p (XEXP (x, 1), in)); + else + return (reg_overlap_mentioned_for_reload_p (XEXP (x, 0), in) + || reg_overlap_mentioned_for_reload_p (XEXP (x, 1), in)); } - - gcc_unreachable (); } /* Return nonzero if anything in X contains a MEM. Look also for pseudo diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index 8ee0529d5a8..18e03c4cb96 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -1493,8 +1493,6 @@ bb_next_bb (basic_block bb) default: return bb->next_bb; } - - gcc_unreachable (); } diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c index eeb67ded3dc..ad6f981191f 100644 --- a/gcc/tree-chrec.c +++ b/gcc/tree-chrec.c @@ -1148,8 +1148,6 @@ evolution_function_is_invariant_rec_p (tree chrec, int loopnum) default: return false; } - - return false; } /* Return true if CHREC is invariant in loop LOOPNUM, false otherwise. */ diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index e88ddc9f788..d166a879be2 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -1109,8 +1109,6 @@ if_convertible_stmt_p (gimple *stmt, vec refs) } return false; } - - return true; } /* Assumes that BB has more than 1 predecessors. diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 0669aaaac47..a49f87fbe6b 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -1234,7 +1234,6 @@ fully_constant_expression (pre_expr e) default: return e; } - return e; } /* Translate the VUSE backwards through phi nodes in E->dest, so that diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index dd7723629ba..b3adc26a933 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -330,8 +330,6 @@ operand_less_p (tree val, tree val2) else return -2; } - - return 0; } /* Compare two values VAL1 and VAL2. Return diff --git a/gcc/varasm.c b/gcc/varasm.c index 8c7aba2db61..d6031d6f1a2 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -3415,8 +3415,6 @@ compare_constant (const tree t1, const tree t2) default: return 0; } - - gcc_unreachable (); } /* Return the section into which constant EXP should be placed. */ diff --git a/libcpp/charset.c b/libcpp/charset.c index 0b0ccc6c021..bcfd3ad44e1 100644 --- a/libcpp/charset.c +++ b/libcpp/charset.c @@ -1534,7 +1534,6 @@ convert_escape (cpp_reader *pfile, const uchar *from, const uchar *limit, case 'x': return convert_hex (pfile, from, limit, tbuf, cvt, char_range, loc_reader, ranges); - break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7':