From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A871E38582A4; Wed, 15 Mar 2023 12:44:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A871E38582A4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1678884249; bh=zu/4hoJoa+ytqIAb0QZlyZNiaRPKnL309FULmGQqclA=; h=From:To:Subject:Date:In-Reply-To:References:From; b=o3HYjrwQ/glBG6MCYQQuAtLnOVlQ13tE0TtuSdeJI3Uzy0YydfpjwUkFu5a/3/VvR AfOpi/9UhvY0KJe9IpcsOQWDk5eZBhNT7zWkR2DSl6P8Lj3LnsnPeYq43jO0aPpO+m DW+PaTrwslKVM5XAmW7u19lmdvSKp0O4cSdD6JEA= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/109143] PTA compile-time hog with many calls Date: Wed, 15 Mar 2023 12:44:09 +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: 13.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: everconfirmed bug_status assigned_to cf_reconfirmed_on attachments.created 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=3D109143 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot = gnu.org Last reconfirmed| |2023-03-15 --- Comment #1 from Richard Biener --- Created attachment 54671 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D54671&action=3Dedit unincluded preprocessed source Here's the testcase unincluded, it can at least build with GCC 12 and 13. The main issue is the ESCAPED set leaking into many sets, but not directly but rather sets getting bigger and eventually also get ESCAPED but common members are not pruned, so ESCAPED isn't optimally used as representative for its contents. GCC 12.2.1 shows tree PTA : 227.39 ( 93%) 0.40 ( 23%) 227.78 ( = 92%) 7617k ( 1%) TOTAL : 245.51 1.72 247.33=20= =20=20=20=20=20=20 1128M while recent trunk is improved to around 70s for tree PTA. Forcefully pruning ESCAPED bits from sets containing ESCAPED gets it down to 3s.=