From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id B53A43858D37; Sat, 18 Nov 2023 23:39:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B53A43858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1700350798; bh=KlobOgl2tw1bQs2MojuuQeQH5wBV/JIqShmGasp6s5U=; h=From:To:Subject:Date:In-Reply-To:References:From; b=CuKjVgBHt+ViHpZexLgAFkcydISWC/hkVQdntH2NhDjEvfbB1jezyWzhT5PGVtsP8 PPoaYKaa2CG0X3MkltliML3RIkiTLZWCV0BSanQBComqtemyVApcU4imfS4r161TSb lzc8kOe+RVpH7Hb75SnuS7tWe4wp5J8V7q/KsTzo= From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/112572] [14 regression] LLVM miscompiled since r14-5355-g3cd3a09b3f91a1 Date: Sat, 18 Nov 2023 23:39:58 +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: blocker X-Bugzilla-Who: pinskia 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=3D112572 --- Comment #24 from Andrew Pinski --- (In reply to Richard Sandiford from comment #23) > (In reply to Andrew Pinski from comment #18) > > compare-elim.cc depends on up to date REG_UNUSED and between before > > vzeroupper and cmpelim the note gets out of date. > Thanks for tracking it down. >=20 > I can't find this written down from a quick search, so perhaps I'm > misremembering, but I thought that REG_UNUSED notes had to be kept > up to date. Only REG_DEAD ones are allowed to rot. Like you say, > single_set is used all over the place, and is expected to be safe. >=20 > If so, I guess it's postreload that should be fixed. Eric B. mentioned back in 2011, neither REG_DEAD nor REG_UNUSED needs to be kept up to date: https://gcc.gnu.org/pipermail/gcc-patches/2011-October/326733.html Also see PR 48773 where he mentioned the same. He mentioned the same thing again in 2018 even: https://gcc.gnu.org/pipermail/gcc-patches/2018-October/508057.html Though you mentioned the opposite here: https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634121.html Though I wonder if this is all a mess due to single_set indirectly using th= em which has been there since before 2000 (and before df was added).=