From patchwork Wed May 31 11:06:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 101361 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp2793387vqr; Wed, 31 May 2023 04:07:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ64gfVO6Db+5ZhSqwjBtDx8Dh3Vt2CfQUw8Zmr3T9dBBpNMvAd8qNkb9RgsGWN3R/kvsgSt X-Received: by 2002:a05:6402:1358:b0:514:91e5:d622 with SMTP id y24-20020a056402135800b0051491e5d622mr3419459edw.36.1685531276681; Wed, 31 May 2023 04:07:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685531276; cv=none; d=google.com; s=arc-20160816; b=gxLRLXVqrDNlL5D12O0/p/p1aPrE4XgnfPLn1mujJDCdKIEMOlTXwlKJ79gNrm5uTp XMJoJ5PzeUGKqCkeL3Lp7f6OMI0aLMG0ZZO1/JMSZNCJNxFjAYPaGLoze65jNxeYkJzH 0Uh7Zj/N09hMWk+v3DW0WRYpiB9KIRbBzBoeXG/4yjazkNBdDxEVliItcquGbPhZxgjE mr13IIhP2vuhkxnx/zCLl3rF7SVZtneTHF6tlAmEu+m5+lSbTQwr3koIISNLUYJqBUB9 CKveWA77uPpeK6V/3dsDl+0t5B3rAnz+4Mmkj38Vfo0cGjP/2u/VliwRu3oUm1PBtZOb b+sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:to:subject :message-id:date:mime-version:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=N+pyWLFw7WSiWYG5QXkZLJj6EgwzMdMOTgBYmDy3SZY=; b=KsX5y8fos4se945efwZpwRqWCmmkKF+stg4Lw182Q4jDoRAxyOjbqcRmQ/5EjWTWyO 4qivn3tUDbHkk+b9GfGyWHASRL0zfnSPSIHM5c9Dft4U6idZBub4eDOMl+67v7mZEsUr I3vFP9OyQCuPal4arDmBMZgGCibhExYlDKIA7PfTtWtEDHQmH1Rg4omDS+g5gQLPwEhH f3CIx147bXaRhVPztB1bXWQUX9t8oUQY06nFUaMM7Qy//wsRKD+6NaGQfRKHoEwb93UL P/CLeTwKonV4SEa+eY9iRhQcfcfAOpk7HI9NVlowJeNKcW7ONiU+l54v1U0BrIy3gxfL meww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=NAf9DjRO; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id r19-20020aa7d593000000b00514b9801aadsi1252834edq.550.2023.05.31.04.07.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 04:07:56 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=NAf9DjRO; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 39C053858281 for ; Wed, 31 May 2023 11:07:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 39C053858281 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1685531275; bh=N+pyWLFw7WSiWYG5QXkZLJj6EgwzMdMOTgBYmDy3SZY=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=NAf9DjRO29yVYdRs8Ira5q9xtLJ1lofn/u5PYyrXqKmbDDZTDiSj9bGOFMnuC9zQV gwJnNrWVDw8wm/kvVQsg2vObL1lKxxQ6JwkmyWbVi6Jh1Kbryg8quugUSdEsrcIbS5 x9qslczomSnt4rsNoBzOOsmhFBJa5zWzwiD0bdY0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com [IPv6:2607:f8b0:4864:20::f30]) by sourceware.org (Postfix) with ESMTPS id EE0D13858C1F for ; Wed, 31 May 2023 11:07:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EE0D13858C1F Received: by mail-qv1-xf30.google.com with SMTP id 6a1803df08f44-6261a1a7454so38080646d6.3 for ; Wed, 31 May 2023 04:07:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685531227; x=1688123227; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=N+pyWLFw7WSiWYG5QXkZLJj6EgwzMdMOTgBYmDy3SZY=; b=htCShN9ivKL99fhfArDMgb060AY+uTt10rT1mXgbDYLAUAZeDu+UEmTvL20EHBZ69T IvrDcSNzt9TZLc3p70QJ99uUYxgfBxCpyHx5mDcmiECKdK3tw9jedvNrlAInxxnB8yMI ruh8VGz3jsF/VMmj6NUuqkg99Em9KHZzRjI5x87hhPNPYd7+nWR7/Qym0nXKo6J2G8h3 mRMSBqeuUmCDtKkuLbiNbPeh46jWUBeCkNIsQylH4YCl/uvYncN1j3a8n89H8Tsr1VlX 68Y4nkIU7iBaAod+FY67kZ9GCL7qoOHpqXybyiKrW5l01PZQL2LEDVqssXdnelvXVwkd PUCQ== X-Gm-Message-State: AC+VfDwI2dgr5AdS63iunErV/SSR9eELvDM0PDVy7mL+RrNyb+MGeMPD P49Yau5nYbhiPPHhvpb61qaGKKBwfYLvPmj1tSmSv43F2U8gTA== X-Received: by 2002:a05:6214:daa:b0:623:8309:7e04 with SMTP id h10-20020a0562140daa00b0062383097e04mr7674873qvh.1.1685531226980; Wed, 31 May 2023 04:07:06 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 31 May 2023 13:06:55 +0200 Message-ID: Subject: [PATCH] emit-rtl: Change return type of predicate functions from int to bool To: "gcc-patches@gcc.gnu.org" X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: Uros Bizjak via Gcc-patches From: Uros Bizjak Reply-To: Uros Bizjak Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767407643615658195?= X-GMAIL-MSGID: =?utf-8?q?1767407643615658195?= Also fix some stalled comments. gcc/ChangeLog: * rtl.h (subreg_lowpart_p): Change return type from int to bool. (active_insn_p): Ditto. (in_sequence_p): Ditto. (unshare_all_rtl): Change return type from int to void. * emit-rtl.h (mem_expr_equal_p): Change return type from int to bool. * emit-rtl.cc (subreg_lowpart_p): Change return type from int to bool and adjust function body accordingly. (mem_expr_equal_p): Ditto. (unshare_all_rtl): Change return type from int to void and adjust function body accordingly. (verify_rtx_sharing): Remove unneeded return. (active_insn_p): Change return type from int to bool and adjust function body accordingly. (in_sequence_p): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. OK for master? Uros. diff --git a/gcc/emit-rtl.cc b/gcc/emit-rtl.cc index 51db055d214..f6276a2d0b6 100644 --- a/gcc/emit-rtl.cc +++ b/gcc/emit-rtl.cc @@ -215,7 +215,7 @@ const_int_hasher::hash (rtx x) return (hashval_t) INTVAL (x); } -/* Returns nonzero if the value represented by X (which is really a +/* Returns true if the value represented by X (which is really a CONST_INT) is the same as that given by Y (which is really a HOST_WIDE_INT *). */ @@ -241,7 +241,7 @@ const_wide_int_hasher::hash (rtx x) return (hashval_t) hash; } -/* Returns nonzero if the value represented by X (which is really a +/* Returns true if the value represented by X (which is really a CONST_WIDE_INT) is the same as that given by Y (which is really a CONST_WIDE_INT). */ @@ -274,7 +274,7 @@ const_poly_int_hasher::hash (rtx x) return h.end (); } -/* Returns nonzero if CONST_POLY_INT X is an rtx representation of Y. */ +/* Returns true if CONST_POLY_INT X is an rtx representation of Y. */ bool const_poly_int_hasher::equal (rtx x, const compare_type &y) @@ -305,7 +305,7 @@ const_double_hasher::hash (rtx x) return h; } -/* Returns nonzero if the value represented by X (really a ...) +/* Returns true if the value represented by X (really a ...) is the same as that represented by Y (really a ...) */ bool const_double_hasher::equal (rtx x, rtx y) @@ -313,7 +313,7 @@ const_double_hasher::equal (rtx x, rtx y) const_rtx const a = x, b = y; if (GET_MODE (a) != GET_MODE (b)) - return 0; + return false; if (TARGET_SUPPORTS_WIDE_INT == 0 && GET_MODE (a) == VOIDmode) return (CONST_DOUBLE_LOW (a) == CONST_DOUBLE_LOW (b) && CONST_DOUBLE_HIGH (a) == CONST_DOUBLE_HIGH (b)); @@ -336,7 +336,7 @@ const_fixed_hasher::hash (rtx x) return h; } -/* Returns nonzero if the value represented by X is the same as that +/* Returns true if the value represented by X is the same as that represented by Y. */ bool @@ -345,7 +345,7 @@ const_fixed_hasher::equal (rtx x, rtx y) const_rtx const a = x, b = y; if (GET_MODE (a) != GET_MODE (b)) - return 0; + return false; return fixed_identical (CONST_FIXED_VALUE (a), CONST_FIXED_VALUE (b)); } @@ -403,7 +403,7 @@ reg_attr_hasher::hash (reg_attrs *x) return h.end (); } -/* Returns nonzero if the value represented by X is the same as that given by +/* Returns true if the value represented by X is the same as that given by Y. */ bool @@ -1710,17 +1710,17 @@ subreg_size_highpart_offset (poly_uint64 outer_bytes, poly_uint64 inner_bytes) * BITS_PER_UNIT); } -/* Return 1 iff X, assumed to be a SUBREG, +/* Return true iff X, assumed to be a SUBREG, refers to the least significant part of its containing reg. - If X is not a SUBREG, always return 1 (it is its own low part!). */ + If X is not a SUBREG, always return true (it is its own low part!). */ -int +bool subreg_lowpart_p (const_rtx x) { if (GET_CODE (x) != SUBREG) - return 1; + return true; else if (GET_MODE (SUBREG_REG (x)) == VOIDmode) - return 0; + return false; return known_eq (subreg_lowpart_offset (GET_MODE (x), GET_MODE (SUBREG_REG (x))), @@ -1836,20 +1836,20 @@ mem_attrs::mem_attrs () size_known_p (false) {} -/* Returns 1 if both MEM_EXPR can be considered equal - and 0 otherwise. */ +/* Returns true if both MEM_EXPR can be considered equal + and false otherwise. */ -int +bool mem_expr_equal_p (const_tree expr1, const_tree expr2) { if (expr1 == expr2) - return 1; + return true; if (! expr1 || ! expr2) - return 0; + return false; if (TREE_CODE (expr1) != TREE_CODE (expr2)) - return 0; + return false; return operand_equal_p (expr1, expr2, 0); } @@ -2820,7 +2820,7 @@ unshare_all_rtl_again (rtx_insn *insn) unshare_all_rtl_1 (insn); } -unsigned int +void unshare_all_rtl (void) { unshare_all_rtl_1 (get_insns ()); @@ -2831,8 +2831,6 @@ unshare_all_rtl (void) SET_DECL_RTL (decl, copy_rtx_if_shared (DECL_RTL (decl))); DECL_INCOMING_RTL (decl) = copy_rtx_if_shared (DECL_INCOMING_RTL (decl)); } - - return 0; } @@ -2943,7 +2941,6 @@ verify_rtx_sharing (rtx orig, rtx insn) break; } } - return; } /* Reset used-flags for INSN. */ @@ -3206,7 +3203,6 @@ repeat: orig1 = last_ptr; goto repeat; } - return; } /* Set the USED bit in X and its non-shareable subparts to FLAG. */ @@ -3686,11 +3682,7 @@ last_call_insn (void) return safe_as_a (insn); } -/* Find the next insn after INSN that really does something. This routine - does not look inside SEQUENCEs. After reload this also skips over - standalone USE and CLOBBER insn. */ - -int +bool active_insn_p (const rtx_insn *insn) { return (CALL_P (insn) || JUMP_P (insn) @@ -3701,6 +3693,10 @@ active_insn_p (const rtx_insn *insn) && GET_CODE (PATTERN (insn)) != CLOBBER)))); } +/* Find the next insn after INSN that really does something. This routine + does not look inside SEQUENCEs. After reload this also skips over + standalone USE and CLOBBER insn. */ + rtx_insn * next_active_insn (rtx_insn *insn) { @@ -5586,9 +5582,9 @@ end_sequence (void) free_sequence_stack = tem; } -/* Return 1 if currently emitting into a sequence. */ +/* Return true if currently emitting into a sequence. */ -int +bool in_sequence_p (void) { return get_current_sequence ()->next != 0; diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h index c472c736cb6..af62f21f1d5 100644 --- a/gcc/emit-rtl.h +++ b/gcc/emit-rtl.h @@ -393,7 +393,7 @@ extern void set_reg_attrs_from_value (rtx, rtx); extern void set_reg_attrs_for_parm (rtx, rtx); extern void set_reg_attrs_for_decl_rtl (tree t, rtx x); extern void adjust_reg_mode (rtx, machine_mode); -extern int mem_expr_equal_p (const_tree, const_tree); +extern bool mem_expr_equal_p (const_tree, const_tree); extern rtx gen_int_shift_amount (machine_mode, poly_int64); extern bool need_atomic_barrier_p (enum memmodel, bool); diff --git a/gcc/rtl.h b/gcc/rtl.h index 7d715ac7696..aa3ce8cbe3e 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -3162,7 +3162,7 @@ extern rtx operand_subword (rtx, poly_uint64, int, machine_mode); /* In emit-rtl.cc */ extern rtx operand_subword_force (rtx, poly_uint64, machine_mode); -extern int subreg_lowpart_p (const_rtx); +extern bool subreg_lowpart_p (const_rtx); extern poly_uint64 subreg_size_lowpart_offset (poly_uint64, poly_uint64); /* Return true if a subreg of mode OUTERMODE would only access part of @@ -3371,7 +3371,7 @@ extern rtx_insn *prev_real_nondebug_insn (rtx_insn *); extern rtx_insn *next_real_nondebug_insn (rtx); extern rtx_insn *prev_active_insn (rtx_insn *); extern rtx_insn *next_active_insn (rtx_insn *); -extern int active_insn_p (const rtx_insn *); +extern bool active_insn_p (const rtx_insn *); /* In emit-rtl.cc */ extern int insn_line (const rtx_insn *); @@ -4189,7 +4189,7 @@ extern void set_used_flags (rtx); extern void reorder_insns (rtx_insn *, rtx_insn *, rtx_insn *); extern void reorder_insns_nobb (rtx_insn *, rtx_insn *, rtx_insn *); extern int get_max_insn_count (void); -extern int in_sequence_p (void); +extern bool in_sequence_p (void); extern void init_emit (void); extern void init_emit_regs (void); extern void init_derived_machine_modes (void); @@ -4197,7 +4197,7 @@ extern void init_emit_once (void); extern void push_topmost_sequence (void); extern void pop_topmost_sequence (void); extern void set_new_first_and_last_insn (rtx_insn *, rtx_insn *); -extern unsigned int unshare_all_rtl (void); +extern void unshare_all_rtl (void); extern void unshare_all_rtl_again (rtx_insn *); extern void unshare_all_rtl_in_chain (rtx_insn *); extern void verify_rtl_sharing (void);