From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 69F12383E6A2; Mon, 23 May 2022 06:28:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 69F12383E6A2 From: "linkw at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/105459] [12/13 Regression] ICE: Segmentation fault (in record_operand_costs) since r12-3721-g63c6446f77b9001d Date: Mon, 23 May 2022 06:28:38 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: linkw at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: linkw at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.2 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, 23 May 2022 06:28:38 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105459 --- Comment #8 from Kewen Lin --- (In reply to Kewen Lin from comment #7) > I wonder if it's fine to move init_function_start downward after > execute_all_ipa_transforms call? the testing is ongoing. This proposed patch was bootstrapped and regress-tested. I think it's reasonable as it can avoid uninitialized target global issue (on secondary members) exposed by this bug. But this issue also exposes another problem. The main function shares the target option node as function quux, after the inlining succeeds, the flag_unsafe_math_optimizations of main function is updated by copying the f= lag from callee bar/foo (see function inline_call). At this time, main shouldn't share the target option with quux any more, since IIUC once one function changes the flag_unsafe_math_optimizations, it should sync with the x_ix86_unsafe_math_optimizations used for target part and should rebuild ta= rget option? It seems there are no such hooks which can be used for this kind of update. Hi Jakub, it's related to r11-5855, do you have any thoughts on this?=