From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 017BD3857832; Fri, 21 Jan 2022 12:16:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 017BD3857832 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/100354] [9/10/11/12 regression] aarch64: non-deligitimized UNSPEC UNSPEC_TLS (76) found in variable location Date: Fri, 21 Jan 2022 12:16:33 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 9.3.1 X-Bugzilla-Keywords: diagnostic X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 9.5 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_reconfirmed_on priority cc keywords 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jan 2022 12:16:34 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D100354 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2021-04-30 00:00:00 |2022-1-21 Priority|P3 |P2 CC| |jakub at gcc dot gnu.org Keywords| |diagnostic --- Comment #4 from Richard Biener --- This is dwarf2out.cc /* If delegitimize_address couldn't do anything with the UNSPEC, and the target hook doesn't explicitly allow it in debug info, assume we can't express it in the debug info. */ /* Don't complain about TLS UNSPECs, those are just too hard to delegitimize. Note this could be a non-decl SYMBOL_REF such as one in a constant pool entry, so testing SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P is not just an optimization. */ if (flag_checking && (XVECLEN (rtl, 0) =3D=3D 0 || GET_CODE (XVECEXP (rtl, 0, 0)) !=3D SYMBOL_REF || SYMBOL_REF_TLS_MODEL (XVECEXP (rtl, 0, 0)) =3D=3D TLS_MODE= L_NONE)) inform (current_function_decl ? DECL_SOURCE_LOCATION (current_function_decl) : UNKNOWN_LOCATION, #if NUM_UNSPEC_VALUES > 0 "non-delegitimized UNSPEC %s (%d) found in variable locatio= n", ((XINT (rtl, 1) >=3D 0 && XINT (rtl, 1) < NUM_UNSPEC_VALUES) ? unspec_strings[XINT (rtl, 1)] : "unknown"), #else "non-delegitimized UNSPEC %d found in variable location", #endif XINT (rtl, 1)); btw, the following expansion_failed () will just dump to a dumpfile, maybe the above inform was meant to do the same. Jakub, you added this in g:eb1fcdaa11c571780374065c383708826624f22d - it's guarded with -fchecking but I think this is the only place in GCC I know we have actual debug diagnostics this way.=