From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2B8D53857831; Fri, 23 Sep 2022 13:11:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B8D53857831 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1663938677; bh=cQbvQygQJ6bRU7LNcLuAGrCF4InnoaOeXCNJohHLOZQ=; h=From:To:Subject:Date:In-Reply-To:References:From; b=yUnO7roO38Gg6T7IjwNjr5Ol7XdfXJ1nVft6wwnhPSjg/6EJcno5OAXC6CldT68qu XnegAEnaICj1eb4ufjveW0re8yhMiFS6hNem+WzhVyyDLmYktA7TX8JflA5QdCoJ70 reJlLoemR+86VaRn6b8x97qMYL9WuH9QDzw2nrm4= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/106922] [12 Regression] Bogus uninitialized warning on boost::optional<>>, missed FRE Date: Fri, 23 Sep 2022 13:11:17 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 12.2.1 X-Bugzilla-Keywords: diagnostic, missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106922 --- Comment #20 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:af611afe5fcc908a6678b5b205fb5af7d64fbcb2 commit r13-2817-gaf611afe5fcc908a6678b5b205fb5af7d64fbcb2 Author: Richard Biener Date: Fri Sep 23 14:28:52 2022 +0200 tree-optimization/106922 - extend same-val clobber FRE The following extends the skipping of same valued stores to handle an arbitrary number of them as long as they are from the same value (which we now record). That's an obvious extension which allows to optimize the m_engaged member of std::optional more reliably. PR tree-optimization/106922 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow an arbitrary number of same valued skipped stores. * g++.dg/torture/pr106922.C: New testcase.=