From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 283A03885C03; Mon, 11 May 2020 01:44:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 283A03885C03 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1589161461; bh=ywjKJXs8sSdij0TqsWBBeV9qjZwjozj98O1QA7YpHUg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=DamXQkxJhrdxsqRY9oLOhcQbyv0NAjlMitHLOOFrCgFHEU4Q60KOmO5wp9AE7g/WN phCTwf4SpaeAnhWNdI/j7DsF/Og23DccZ3EQeWgI2t9NNd4nXMpqgniSHHWCVoIm7M HgzgqwqNxpb33UeClLSatUVkI26Hh10Qd7aT7FY4= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/91518] [9 Regression] segfault when run CPU2006 465.tonto since r263875 Date: Mon, 11 May 2020 01:44:20 +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: 10.0 X-Bugzilla-Keywords: lto, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit 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.4 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: Mon, 11 May 2020 01:44:21 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D91518 --- Comment #11 from CVS Commits --- The releases/gcc-9 branch has been updated by Xiong Hu Luo : https://gcc.gnu.org/g:b8da02efe62611a9f173c699a76010de5b916d33 commit r9-8583-gb8da02efe62611a9f173c699a76010de5b916d33 Author: Xionghu Luo Date: Sun May 10 20:27:38 2020 -0500 rs6000: Don't use HARD_FRAME_POINTER_REGNUM if it's not live in pro_and_epilogue (PR91518) Backport from master. This bug is exposed by FRE refactor of r263875. Comparing the fre dump file shows no obvious change of the segment fault function proves it to be a target issue. frame_pointer_needed is set to true in reload pass setup_can_eliminate, but regs_ever_live[31] is false, pro_and_epilogue uses it without live check causing CPU2006 465.tonto segment fault of loading from invalid addresses due to r31 not saved/restored. Thus, add HARD_FRAME_POINTER_REGNUM live check with frame_pointer_needed_indeed when generating pro_and_epilogue instructions. gcc/ChangeLog 2020-05-11 Xiong Hu Luo Backport from master. 2020-04-27 Xiong Hu Luo PR target/91518 * config/rs6000/rs6000.c (frame_pointer_needed_indeed): New variable. (rs6000_emit_prologue_components): Check with frame_pointer_needed_indeed. (rs6000_emit_epilogue_components): Likewise. (rs6000_emit_prologue): Likewise. (rs6000_emit_epilogue): Set frame_pointer_needed_indeed.=