From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1B1F538582A4; Mon, 20 Nov 2023 14:34:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1B1F538582A4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1700490886; bh=x1dYJkxqoXBU6pXZPEfEMunjHzDIpfo1h3MU2ECY228=; h=From:To:Subject:Date:In-Reply-To:References:From; b=V5t1NMXhPy0Zf3rjUHQrE1MBH+xae4nJpUnFE8feS7iV3HBlryhBpNQIwS5kXIh82 jRnrpHttfrJqhT9aC+OjUd0jDT/bgq4YJ8rpgHgUGj7A8QlY497nLmRmVltSwzfTcC RRVUkHfZ43BA1Tvv8nstW9S8iTFadlSBS8HjCPUg= From: "dje at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/83324] [feature request] Pragma or special syntax for guaranteed tail calls Date: Mon, 20 Nov 2023 14:34:44 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Version: 7.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: enhancement X-Bugzilla-Who: dje 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: --- 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=3D83324 --- Comment #11 from David Edelsohn --- GIMPLE supports must_tail, but it is not exposed at the sources level / attributes in GCC. CPython is not adding the LLVM JIT at runtime. The proposal is to utilize = LLVM at build time to generate code templates that can be copied into the CPython binary and patched with relocations. CALL_EXPR_MUST_TAIL_CALL and libgccjit are not sufficient for the CPython p= lan. The plan does not propose connecting CPython to an existing JIT in LLVM (or GCC).=