From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8408F384AB4F; Fri, 31 May 2024 15:04:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8408F384AB4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1717167881; bh=cr4M5XDoi0I/r/PNOXIXxcYzJ3gwc89dUg7BoXYlH1s=; h=From:To:Subject:Date:In-Reply-To:References:From; b=j/XKAjcqAik2W8t7/d46vQg+Rz+/7mDGfjWoJn7OJyci2fLtmgWXMcpEhwl3Yo7mn 1o+mkI1WgjMEGuTmxn88KkBm7zH8xjbRuIwGpwIDn+PVgewmMcJCSVK7iuE5WAE3Az xxczSlud8pUuZVBEx7DJbBmemb8pjAs8OUl/1p+M= From: "rguenther at suse dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/115298] [15 Regression] Various targets failing DSE tests after recent changes Date: Fri, 31 May 2024 15:04:39 +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: 15.0 X-Bugzilla-Keywords: testsuite-fail X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenther at suse dot de X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 15.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=3D115298 --- Comment #3 from rguenther at suse dot de --- On Fri, 31 May 2024, law at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D115298 >=20 > --- Comment #2 from Jeffrey A. Law --- > What still doesn't make sense is why nds32 would be special here. It doe= sn't > do anything special with flag_delete_null_pointer_checks and I don't thin= k it > uses any of the address space hooks. So why does nds32 behave differentl= y than > x86? /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */=20 static const struct default_options nds32_option_optimization_table[] =3D {=20=20 #if TARGET_LINUX_ABI =3D=3D 0 /* Disable -fdelete-null-pointer-checks by default in ELF toolchain. */ { OPT_LEVELS_ALL, OPT_fdelete_null_pointer_checks, NULL, 0 }, #endif that's in common/config/nds32/nds32-common.cc, a place to easily overlook. So it should be nds32-elf only. And yeah, points-to should use TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID but since it tracks pointers across integer conversions we have to decide on integer zero as well where we do not know what address-space is affected. I guess we could use the default address space and try to be clever with ADDR_SPACE_CONVERT. So points-to only checks=20 flag_delete_null_pointer_checks at the moment.=