From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id B76DE3858C52; Wed, 22 Mar 2023 15:42:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B76DE3858C52 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1679499739; bh=FojBrYrxzr/l6lZ0FPZ4qZ1TvO2Iuz0yj/UStT/EwVY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=cYBKTielr1iGTThEDzFb3V+EZhOjiP1cZeKcavvzGk8J9bErsiDILFrbZAFjb3Hig Z3kz/pMGf0tnY+6/5QtgadnaG1HlswFE2m2YDX3/n22JPecDIbmT+BptDgEzVVwG0j pbpLgtBaGka5ZmenrEHoC7KDq6sCuiPvxBfbGWuU= From: "amacleod at redhat dot com" To: gcc-bugs@gcc.gnu.org Subject: =?UTF-8?B?W0J1ZyB0cmVlLW9wdGltaXphdGlvbi8xMDkyMzhdIFsxMyBSZWdy?= =?UTF-8?B?ZXNzaW9uXSB0c3QtcmVhbGxvYy5pOjQyOjE5OiBlcnJvcjogcG9pbnRlciA=?= =?UTF-8?B?4oCYcOKAmSBtYXkgYmUgdXNlZCBhZnRlciDigJhyZWFsbG9j4oCZIFstV2Vy?= =?UTF-8?B?cm9yPXVzZS1hZnRlci1mcmVlXSBpbiBnbGliYyB0ZXN0cw==?= Date: Wed, 22 Mar 2023 15:42:19 +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: needs-reduction X-Bugzilla-Severity: normal X-Bugzilla-Who: amacleod at redhat dot com 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: 13.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=3D109238 --- Comment #4 from Andrew Macleod --- I think varying is the correct result tho? the branch is in BB28, but bb = 33 is a merge poi9nt again before bb 36, so we can't tell that it is anything = but varying? I see: [local count: 428124]: c_24 =3D realloc (p_17, 18446744073709551615); if (c_24 !=3D 0B) goto ; [99.96%] else goto ; [0.04%] [local count: 427952]: support_exit_failure_impl (1, "tst-realloc.c", 120, "realloc (p, -1) succeeded."); [local count: 2741]: _26 =3D (sizetype) i_25; _27 =3D p_17 + _26; _28 =3D *_27; if (_28 !=3D 255) goto ; [66.00%] else goto ; [34.00%] [local count: 1809]: [local count: 2741]: # ok_48 =3D PHI i_29 =3D i_25 + 1; [local count: 2912]: <<-- both sides of BB 28 branch mer= ge here, so c_24 is varying again=20 # i_25 =3D PHI <0(28), i_29(32)> # ok_49 =3D PHI <1(28), ok_48(32)> if (i_25 !=3D 16) goto ; [94.12%] else goto ; [5.88%] [local count: 171]: # ok_30 =3D PHI if (ok_30 =3D=3D 0) goto ; [0.04%] else goto ; [99.96%] [local count: 0]: support_exit_failure_impl (1, "tst-realloc.c", 132, "first 16 bytes were = not correct after failed realloc"); [local count: 171]: p_31 =3D realloc (p_17, 0); <<-- This is dominated by bb 33 which m= erged the bb28 branch During the cache dump the bit about CACHE: BB 32 DOM query for c_24, found [irange] unsigned char * VARYING at = BB28 CACHE: Range for DOM returns : [irange] unsigned char * VARYING CACHE: Range for DOM returns : [irange] unsigned char * VARYING Is a bit of a misnomer I think, its dumping in the middle of a query and di= dnt show the fully updated value.. But I will look a bit closer at it.. in the= ory that should have been non-zero, even tho I dont think it affects the result= .=