From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id F24143858C66; Tue, 17 Jan 2023 12:41:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F24143858C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1673959281; bh=NnF5BZ2/FCgvilgWZ5AmDb0CTya73/q3FPb2fI0evP4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=cSfY69AyOnAOMS+l0eH0cVvI377JgDM4s4LTh03si3rhQ9HndFQYKYCPoBj21RUDj zq8O97AuJqvYIJ//zQr8vmRrCt9+7wgyCC020T17XXlZNrsgL7OK7E+uuIDjJff2BT QtyOtVVL7ihVOhofOJRpuLh4htTt+Rqe2FGJ18BA= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/105769] [11/12/13 Regression] program segmentation fault with -ftree-vectorize and nested lambdas Date: Tue, 17 Jan 2023 12:41:21 +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: 11.2.1 X-Bugzilla-Keywords: needs-bisection, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub 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: 11.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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105769 --- Comment #12 from Jakub Jelinek --- (In reply to Richard Biener from comment #10) > I think that's the usual pattern for the two other stack-slot sharing PRs= we > have. The liveness analysis makes wrong assumptions about CLOBBER and > CLOBBER > isn't a barrier for address-takens (and we don't have birth CLOBBERs). >=20 > But why does -fstack-reuse=3Dnone not help? Because -fstack-reuse=3D controls behavior of the gimplifier/inliner (what = kind of CLOBBERs are emitted), not whether we reuse stack slots during expansion= or not. And the CLOBBERs that matter here aren't coming from the -fstack-reuse=3D controlled ones, but from C++ lifetime DSE. -flifetime-dse=3D1 option works as workaround in this case.=