From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E1B2A385840E; Thu, 21 Mar 2024 15:29:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E1B2A385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1711034983; bh=4TIx/2c/N3aVpE3KwUNtIN3c8PbDYotJMOK1jlKlj/w=; h=From:To:Subject:Date:In-Reply-To:References:From; b=dUJiZ0BPpIWrRThyl6xd5oxBCfb/J83U9HKzrUxMMRgzCtnlJvqw/H/seTOyQb3yv ELrnhPpg4lGZqxgdBUS0G+PhK+khR+OM/ne0mEtryx1BO+iTtpBKO3cgSqvy001gBL AZ/wCKCtDlzt4tvhZtd7IH+zLoO8lJZsKbG/xp54= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/113907] [11/12/13/14 regression] ICU miscompiled since on x86 since r14-5109-ga291237b628f41 Date: Thu, 21 Mar 2024 15:29:39 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: hubicka at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 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=3D113907 --- Comment #68 from Jakub Jelinek --- (In reply to Jakub Jelinek from comment #67) > (In reply to Martin Jambor from comment #66) > > Created attachment 57750 [details] > > Patch comparing jump functions > >=20 > > I'm testing this patch. (Not sure how to best check that it does not > > inadvertently pessimize ICF too much, except for ICF testcases.) >=20 > Bet modify the patch slightly (for testing only), so instead of those 3 > return_false_with_msg it would just set some flag somewhere that the pair= is > not ICF optimizable, then after the early return false in > sem_function::merge check that flag > and log into some /tmp/ file using appending if the ICF merge would be do= ne > and the flag wasn't set, or if the ICF merge wouldn't be done (and in that > case return false too), bootstrap/regtest with such patch, plus build a f= ew > other packages (firefox, libreoffice) and then get statistics from the log > file on what percentage of ICF folding it now prevents. To correct myself, basically return a tristate from the ICF comparisons, instead of returning boolean this is the same vs. not return this is the sa= me including jump_functions vs. this is the same excluding jump_functions vs. = this is not the same, put the first category into the same class but somehow connect two different classes as weakly connected if they were the same before but aren't anymore= .=20 And then when trying to merge stuff first merge stuff in the same class + l= og that, and then check if one could merge between the connected classes but f= ail before actually merging it and log that too.=