From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6FDBC388802E; Thu, 19 Aug 2021 16:44:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6FDBC388802E From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/100767] arm: ice when inlining at -flto with different cpu and arch settings Date: Thu, 19 Aug 2021 16:44:27 +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: 11.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rearnsha at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- 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 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: Thu, 19 Aug 2021 16:44:27 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D100767 --- Comment #7 from CVS Commits --- The releases/gcc-10 branch has been updated by Richard Earnshaw : https://gcc.gnu.org/g:59b5e629a7e4544dc7830638bc20f388c14ef7c8 commit r10-10048-g59b5e629a7e4544dc7830638bc20f388c14ef7c8 Author: Richard Earnshaw Date: Thu May 27 10:25:37 2021 +0100 arm: Remove use of opts_set in arm_configure_build_target [PR100767] The variable global_options_set is a reflection of which options have been explicitly set from the command line in the structure global_options. But it doesn't describe the contents of a cl_target_option. cl_target_option is a set of options to apply and once configured should represent a viable set of options without needing to know which were explicitly set by the user. Unfortunately arm_configure_build_target was incorrectly conflating the two. Fortunately, however, we do not really need to know this since the various override_options functions should have sanitized the target_options values before constructing a cl_target_option structure. It is safe, therefore, to simply drop this parameter to arm_configure_build_target and rely on checking that various string parameters are non-null before dereferencing them. gcc: PR target/100767 * config/arm/arm.c (arm_configure_build_target): Remove paramet= er opts_set, directly check opts parameters for being non-null. (arm_option_restore): Update call to arm_configure_build_target. (arm_option_override): Likewise. (arm_can_inline_p): Likewise. (arm_valid_target_attribute_tree): Likewise. * config/arm/arm-c.c (arm_pragma_target_parse): Likewise. * config/arm/arm-protos.h (arm_configure_build_target): Adjust prototype. (cherry picked from commit 262e75d22c350acbdf4c1fb4f224cc5d3d711eff)=