From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by sourceware.org (Postfix) with ESMTPS id 2AF243857C44 for ; Thu, 27 Apr 2023 10:52:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2AF243857C44 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2a8ba23a2abso80632311fa.2 for ; Thu, 27 Apr 2023 03:52:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682592759; x=1685184759; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=zvMRgAcH1ZxqH6WD1DF5r8XN2auB7Sagrc0+OJ1Osfs=; b=EAf4ibZIhECRlU+rwQwMVk5PCFwlq0l3xzyMmbU63XY34QSSOGJTwWt8ug1NhD25+k k5vTcXco8oHklv/m2PwHOx4wjwaHK87iMvM/JGhNfOFPTVaJHykYBF95igu0gfLCu7o7 eC25kqcr2OEnW352rp+k47igvdzgR7oMo+R0Gy7v2pS6vdpT9uFqOQYErSml3eQURz3/ FP9Tfpg8M7UVUOVkfkVaeKZ0ZruNavmd0wpL5xWunyLr7oo5vE07kW43E8XpdCfyU661 zySuvK/I946HW6ZyXDrS1ZRiVVF98zVjmXBDXSoZK7GGQxe9mBjUu+R+5rf2lvOapX4L sfFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682592759; x=1685184759; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zvMRgAcH1ZxqH6WD1DF5r8XN2auB7Sagrc0+OJ1Osfs=; b=CXKxMsGnDbKyu0MucN8DiHiKgbmkVGGa53Hwgmnu66yTwQpU3BD4h6n1GmklDCDXUU xh2l6e+g9ftR+GqVQ/rkqEbDLzGXchoPJMzB9T0zbh8teoCBc+fCITyzoNC40pQkQkF+ B766OyZZObMHxk9i7AZxE7CDTKZ5v1gTYu1wsLXyQ39LW16abYhn+BlZQyRKiwvn6EKJ s1lbL/WZwqCZO7H5ufLUwaORGEr1zLcdvisoh03jCdfC/eedjPWbon9m3xwjsAuc9X0o dMBEBrkGr5E1EdrPbrSz+VfDe3m/ZBly+XMx/QCCcai+oKa5Hpw04Pe4NFTLWxkJymkK N1MQ== X-Gm-Message-State: AC+VfDyv8vma9yP/WiZr7OgL5WmWPJvseXv0lTmcq/4PKbinSw5CresE S5BEeXsxgJ5ujO4SWk/hfV+EIm0xDmurX0dukSFb9P0K X-Google-Smtp-Source: ACHHUZ5dnUsyVH9kOggKP1EMFd6n4aD+ORWuWTtx0hOuM2Ui+sshHJ+xTTrBOlb+YPIzlGeeXszd0BZADlcpc6zeEe8= X-Received: by 2002:a2e:b0cd:0:b0:2a8:bd47:caf7 with SMTP id g13-20020a2eb0cd000000b002a8bd47caf7mr558412ljl.7.1682592759530; Thu, 27 Apr 2023 03:52:39 -0700 (PDT) MIME-Version: 1.0 References: <20230424213011.528181-1-apinski@marvell.com> <20230424213011.528181-6-apinski@marvell.com> In-Reply-To: <20230424213011.528181-6-apinski@marvell.com> From: Richard Biener Date: Thu, 27 Apr 2023 12:51:10 +0200 Message-ID: Subject: Re: [PATCH 5/7] PHIOPT: Allow MIN/MAX to have up to 2 MIN/MAX expressions for early phiopt To: Andrew Pinski Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-7.5 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 List-Id: On Mon, Apr 24, 2023 at 11:33=E2=80=AFPM Andrew Pinski via Gcc-patches wrote: > > In the early PHIOPT mode, the original minmax_replacement, would > replace a PHI node with up to 2 min/max expressions in some cases, > this allows for that too. > > OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. OK. > gcc/ChangeLog: > > * tree-ssa-phiopt.cc (phiopt_early_allow): Allow for > up to 2 min/max expressions in the sequence/match code. > --- > gcc/tree-ssa-phiopt.cc | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc > index fb2d2c9fc1a..de1896aa91a 100644 > --- a/gcc/tree-ssa-phiopt.cc > +++ b/gcc/tree-ssa-phiopt.cc > @@ -542,9 +542,23 @@ phiopt_early_allow (gimple_seq &seq, gimple_match_op= &op) > return false; > tree_code code =3D (tree_code)op.code; > > - /* For non-empty sequence, only allow one statement. */ > + /* For non-empty sequence, only allow one statement > + except for MIN/MAX, allow max 2 statements, > + each with MIN/MAX. */ > if (!gimple_seq_empty_p (seq)) > { > + if (code =3D=3D MIN_EXPR || code =3D=3D MAX_EXPR) > + { > + if (!gimple_seq_singleton_p (seq)) > + return false; > + > + gimple *stmt =3D gimple_seq_first_stmt (seq); > + /* Only allow assignments. */ > + if (!is_gimple_assign (stmt)) > + return false; > + code =3D gimple_assign_rhs_code (stmt); > + return code =3D=3D MIN_EXPR || code =3D=3D MAX_EXPR; > + } > /* Check to make sure op was already a SSA_NAME. */ > if (code !=3D SSA_NAME) > return false; > -- > 2.39.1 >