From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8D6A23858D28; Mon, 6 Dec 2021 15:58:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D6A23858D28 From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/103584] Points-to information is not conservatively correct Date: Mon, 06 Dec 2021 15:58:31 +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.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Dec 2021 15:58:31 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103584 --- Comment #1 from Jan Hubicka --- This is (probably bit preliminary) optimization in tree-ssa-structalias.c: /* Create constraints for the builtin call T. Return true if the call was handled, otherwise false. */ static bool find_func_aliases_for_builtin_call (struct function *fn, gcall *t) { tree fndecl =3D gimple_call_fndecl (t); auto_vec lhsc; auto_vec rhsc; varinfo_t fi; if (gimple_call_builtin_p (t, BUILT_IN_NORMAL)) /* ??? All builtins that are handled here need to be handled in the alias-oracle query functions explicitly! */ switch (DECL_FUNCTION_CODE (fndecl)) { /* All the following functions return a pointer to the same object as their first argument points to. The functions do not add to the ESCAPED solution. The functions make the first argument pointed to memory point to what the second argument pointed to memory points to. */ as ??? is saying the function does not bother to build proper USE/CLOBBER points-to sets and relies on tree-ssa-alias checking the right thing.=