From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id DD6493858D32 for ; Mon, 24 Jul 2023 10:31:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DD6493858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 22B95DE0; Mon, 24 Jul 2023 03:32:42 -0700 (PDT) Received: from localhost (e121540-lin.manchester.arm.com [10.32.110.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7EEFA3F6C4; Mon, 24 Jul 2023 03:31:58 -0700 (PDT) From: Richard Sandiford To: Richard Biener Mail-Followup-To: Richard Biener ,gcc-patches@gcc.gnu.org, richard.sandiford@arm.com Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Remove SLP_TREE_VEC_STMTS in favor of SLP_TREE_VEC_DEFS References: <20230724102431.94955138E8@imap2.suse-dmz.suse.de> Date: Mon, 24 Jul 2023 11:31:57 +0100 In-Reply-To: <20230724102431.94955138E8@imap2.suse-dmz.suse.de> (Richard Biener's message of "Mon, 24 Jul 2023 12:24:31 +0200 (CEST)") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-20.5 required=5.0 tests=BAYES_00,KAM_DMARC_NONE,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Richard Biener writes: > The following unifies SLP_TREE_VEC_STMTS into SLP_TREE_VEC_DEFS > which can handle all cases we need. > > Bootstrap & regtest running on x86_64-unknown-linux-gnu. Nice! Just curious... > @@ -149,6 +147,20 @@ _slp_tree::~_slp_tree () > free (failed); > } > > +/* Push the single SSA definition in DEF to the vector of vector defs. */ > + > +void > +_slp_tree::push_vec_def (gimple *def) > +{ > + if (gphi *phi = dyn_cast (def)) > + vec_defs.quick_push (gimple_phi_result (phi)); > + else > + { > + def_operand_p defop = single_ssa_def_operand (def, SSA_OP_ALL_DEFS); > + vec_defs.quick_push (get_def_from_ptr (defop)); > + } > +} ...what does this handle that gimple_get_lhs wouldn't? asms? Thanks, Richard