From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D6124385803F; Fri, 16 Feb 2024 14:40:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D6124385803F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1708094453; bh=rOm3cB2kDvgu607mCWeXi9bqdohgf1xF4s3DiNdvrqI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=dEDZiLJsC69KM8YDMNeRBJoIqYTNCGIMFo1A+hdbP7Oh8mc6+ipPqs67ggnL44+LI v0w3mT7WEub2sBn/QEv/PdNzy4B9r1DxS6mNoMdDWW1zuUg+M5ey3Qg16tm4mJhsEk VOgpJNGoRJBX7cbOnpIbAbCO+eQpEAdgWPkGNGV8= From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/113907] [14 regression] ICU miscompiled since on x86 since r14-5109-ga291237b628f41 Date: Fri, 16 Feb 2024 14:40:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned 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 #39 from Jan Hubicka --- This testcase #include int data[100]; __attribute__((noinline)) int bar (int d, unsigned int d2) { if (d2 > 10) printf ("Bingo\n"); return d + d2; } int test2 (unsigned int i) { if (i > 10) __builtin_unreachable (); if (__builtin_expect (data[i] !=3D 0, 1)) return data[i]; printf ("%i\n",i); for (int j =3D 0; j < 100; j++) data[i] +=3D bar (data[j], i+17); return data[i]; } int test (unsigned int i) { if (i > 100) __builtin_unreachable (); if (__builtin_expect (data[i] !=3D 0, 1)) return data[i]; printf ("%i\n",i); for (int j =3D 0; j < 100; j++) data[i] +=3D bar (data[j], i+17); return data[i]; } int main () { test (1); test (2); test (3); test2 (4); test2 (100); return 0; } gets me most of what I want to reproduce ipa-prop problem. Functions test a= nd test2 are split with different value ranges visible in the fnsplit dump.=20 However curiously enough ipa-prop analysis seems to ignore the value ranges= and does not attach them to the jump function, which is odd...=