From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6DBA0385B835; Fri, 10 Apr 2020 23:42:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6DBA0385B835 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1586562157; bh=vPTRusm/DQ2kECCW3ME98u9+xDQQ226xfler0pp4hbY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=dXic7yM1vlSeGCi7YNXHZ5MmcEq/Qf3zBcMVAIHsBb0YTSP0A/pHu1ghTmYxSyUgU fNyTwtelWVF+4rGvrmjYf5z+XjNVc/pIH+TqmI5WaLleE5r+el+bKgIyliW1Nv5Vvs RIO1TvJBhIRpWNW3buUxjgWVEzxsC0+g/DWrfqhE= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/94538] [10 Regression] ICE: in extract_constrain_insn_cached, at recog.c:2223 (insn does not satisfy its constraints) with -mcpu=cortex-m23 -mslow-flash-data Date: Fri, 10 Apr 2020 23:42:37 +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: 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: wilco 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: Fri, 10 Apr 2020 23:42:37 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94538 --- Comment #5 from CVS Commits --- The master branch has been updated by Iain D Sandoe : https://gcc.gnu.org/g:0666767eb4cc864f00ba34d97b9d58f8dc650bba commit r10-7682-g0666767eb4cc864f00ba34d97b9d58f8dc650bba Author: Iain Sandoe Date: Fri Apr 10 20:55:10 2020 +0100 coroutines: Revise await expansions [PR94528] The expansions for await expressions were specific to particular cases, this revises it to be more generic. a: Revise co_await statement walkers. We want to process the co_awaits one statement at a time. We also want to be able to determine the insertion points for new bind scopes needed to cater for temporaries that are captured by reference and have lifetimes that need extension to the end of the full expression. Likewise, the handling of captured references in the evaluation of conditions might result in the need to make a frame copy. This reorganises the statement walking code to make it easier to extend for these purposes. b: Factor reference-captured temp code. We want to be able to use the code that writes a new bind expr with vars (and their initializers) from several places, so split that out of the maybe_promote_captured_temps() function into a new replace_statement_captures (). Update some comments. c: Generalize await statement expansion. This revises the expansion to avoid the need to expand conditionally on the tree type. It resolves PR 94528. gcc/cp/ChangeLog: 2020-04-10 Iain Sandoe PR c++/94538 * coroutines.cc (co_await_expander): Remove. (expand_one_await_expression): New. (process_one_statement): New. (await_statement_expander): New. (build_actor_fn): Revise to use per-statement expander. (struct susp_frame_data): Reorder and comment. (register_awaits): Factor code. (replace_statement_captures): New, factored from... (maybe_promote_captured_temps):.. here. (await_statement_walker): Revise to process per statement. (morph_fn_to_coro): Use revised susp_frame_data layout. gcc/testsuite/ChangeLog: 2020-04-10 Iain Sandoe PR c++/94538 * g++.dg/coroutines/pr94528.C: New test.=