Cover Letter Detail
Show a cover letter.
GET /api/1.2/covers/2233237/?format=api
{ "id": 2233237, "url": "http://patchwork.ozlabs.org/api/1.2/covers/2233237/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/cover/20260505223045.347444-2-feedabl3@gmail.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/1.2/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260505223045.347444-2-feedabl3@gmail.com>", "list_archive_url": null, "date": "2026-05-05T22:30:43", "name": "[RFC,0/3] wasm: New backend", "submitter": { "id": 92146, "url": "http://patchwork.ozlabs.org/api/1.2/people/92146/?format=api", "name": "feedable", "email": "feedabl3@gmail.com" }, "mbox": "http://patchwork.ozlabs.org/project/gcc/cover/20260505223045.347444-2-feedabl3@gmail.com/mbox/", "series": [ { "id": 502902, "url": "http://patchwork.ozlabs.org/api/1.2/series/502902/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502902", "date": "2026-05-05T22:30:44", "name": "wasm: New backend", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502902/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2233237/comments/", "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=q0ufmgQm;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=q0ufmgQm", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "sourceware.org; spf=pass smtp.mailfrom=gmail.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=2a00:1450:4864:20::32a" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9CtD2f2kz1yKd\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 08:31:48 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id B33744BA23C1\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 5 May 2026 22:31:45 +0000 (GMT)", "from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com\n [IPv6:2a00:1450:4864:20::32a])\n by sourceware.org (Postfix) with ESMTPS id 4C2BE4BA2E07\n for <gcc-patches@gcc.gnu.org>; Tue, 5 May 2026 22:31:03 +0000 (GMT)", "by mail-wm1-x32a.google.com with SMTP id\n 5b1f17b1804b1-4891e5b9c1fso55443515e9.2\n for <gcc-patches@gcc.gnu.org>; Tue, 05 May 2026 15:31:03 -0700 (PDT)", "from 7a38.moduleworks.com\n ([2a02:8308:900b:fc00:1c70:a43b:cde8:2b29])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48e53559d8esm79055e9.9.2026.05.05.15.31.01\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 15:31:01 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org B33744BA23C1", "OpenDKIM Filter v2.11.0 sourceware.org 4C2BE4BA2E07" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 4C2BE4BA2E07", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 4C2BE4BA2E07", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778020263; cv=none;\n b=BtqH7fJncvvNA3PRM1Vt8Ota2jIlK8AySA6dSKnh0NJYtQb6d/NQMjUEUf+AIPCYXtaFSDCGCL08jpfHgltNe4uVw8ecBl15I4wVlrnUVb9WIUR/hX0Xj/hgnpU4tYJhJr3yUIuu1uuMPw/YArMo+AtZX6umIBQ/VUhxLCMcwBo=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778020263; c=relaxed/simple;\n bh=HXmWdkd36GaEaHv9jbyCQxevPg62eQycmNlUOPs2uUc=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=FdaS8k+jRUqRoylbyttdCkCofDZU0s7uAtHA+o5vSRS5G+RuoLHopP5mAb9IikLrIjVWAWlmHye87fbe/TeWa3zGesyKSyDA6sZM5YPcdHBHRQNeOoZ/Ua2Hjqd2L2WcONkkf7vWi0eymo+iKamSKaDbbFTUD7Nxs/PFD0Lihjg=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1778020262; x=1778625062; darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=SdY46yrwVT8PfiuycWXCbykDrpFsiD6BmGhbptS37Jo=;\n b=q0ufmgQmJk/ItXeWzt7MYRfqKqGBLG3NY8QqmqIFPEEkFVIDCpbNGfTLiN289nx8US\n yH0DJS3ceY/WkrNgBKxwXvyS+4nOUAGG1SaIzQqOyCUcNi5FgZKTXVFAJStjZLsY8Pry\n BUB2Pqq1ZeGV+QaRCTzS0G7/zcJM1ZwHA2vnqAcuacOm9Xf2veLgP9kfBWKhap01mQBK\n rQMVSfVae9gwKRBJVRGuKkq55QYRoZc6RTMiZboArN6bktA2RMQnCxFfK9dCey423rlP\n P+AOi5pqOsKbqdt9MchHoOzOvdF1ebBmt19Kw5wcNsuB4ruPF3bru4UFuITFDe8jZ+FH\n r7NA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778020262; x=1778625062;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=SdY46yrwVT8PfiuycWXCbykDrpFsiD6BmGhbptS37Jo=;\n b=KrcpxfQ53Z6mKM+/sIU/ckLpeEh2umFKk5O5SJQs8Dl0jS6T64/5fS57MvmDAiACWF\n RRM5fZW8w5gfCinAnN5ze1GXf6V13uqtPqvWW6jNgYyJn0TVbm/O5ge4WkrMell1cprB\n UpzzukZWlLHABg2r/Ive318XSTd0b9T8/x9K9TK6rLAMe36StPueiqfu7igZsp8YVBwp\n s6Nkh04KsyRQFzay5gOpcjWC3v35aDZXuwsf9fyj7xFaCvnqhd8bd4C/CPSotjnfZqGk\n mAz+Ynzlz6MgZgxA1zk3fw2gs0wvzTyvhJw1QzvY3koDYvfHYEs7dMYDSRZSiMBwFLu0\n Tgkg==", "X-Gm-Message-State": "AOJu0YygY5amiugi2gTfbjh87h+FDOn3gWZZAF5zxbxiqNro7KpU0cig\n cYDbey8a1tyuTEXrGMw+Bq24ZDOv214+onM0EWEC9ok1m3qmzVvHEuInOJYRkw==", "X-Gm-Gg": "AeBDietekU3ppHFNOWol6dHkDiu+9C9CcC5QvNv7+aUvBgwEQb9tVEbB08026GUgwl1\n BFBILqXQsBf08e+oFnALwkHNz3aHyBYFhKfJSqiLqSXXRj4gkAIwNSs5+pgmY4utC3B6obyETio\n mG9BiDdV0cQbBS0tyDDAmMQg5zVvTiYemy1oVYGtpiq/xbaa8zBkraHE6YhVwtblMaD24vq+qAj\n x3EOWQsryZX371Hvh7axdmB8FKeqkIBmhOVFsoW78kIMRtdvtiv7oFz+DjNfTb72kAxRBQ9LbUw\n LGy3vL8unqm7rvNKLnFVAuHy3Jm0qFqWy9f0ZYeUwhStimKC5bH9jf4iZWtlC5Y5yHYWduKn49n\n 1TEgbqS/ZRVmcKpVMq8BxOoKZwJsOkHitwLIrZ2GOR4o56xq9tap0kOVR7X/xNZuHvjeE1J46Zp\n UiE7RXl4yK6bJOjcDR07oRWdj8lcZmK13gfHwJXZSmub7GaH5x", "X-Received": "by 2002:a05:600c:8589:b0:48d:5c1:bc3b with SMTP id\n 5b1f17b1804b1-48e51f410a4mr12831915e9.24.1778020261829;\n Tue, 05 May 2026 15:31:01 -0700 (PDT)", "From": "feedable <feedabl3@gmail.com>", "To": "gcc-patches@gcc.gnu.org", "Cc": "feedable <feedabl3@gmail.com>", "Subject": "[RFC PATCH 0/3] wasm: New backend", "Date": "Wed, 6 May 2026 01:30:43 +0300", "Message-ID": "<20260505223045.347444-2-feedabl3@gmail.com>", "X-Mailer": "git-send-email 2.54.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "This patch series introduces a GCC backend for WebAssembly. I would like\nsome feedback on the overall code, before merging it.\n\nPlease consult https://gcc.gnu.org/wiki/WebAssemblyBackend for build\ninstructions and the current feature implementation status in the\nbackend.\n\nPlease note that the following patch would be a prerequisite for this patchset,\nI just didn't feel like submitting a patch with x86 code in it would make sense\nhere:\nhttps://gcc.gnu.org/pipermail/gcc-patches/2026-May/715690.html\n\nfeedable (3):\n df: Add support for pseudos in function arguments\n wasm: New backend\n wasm: Adjust tests\n\n gcc/config.gcc | 7 +\n gcc/config/wasm/attrs.md | 84 ++\n gcc/config/wasm/t-wasm | 13 +\n gcc/config/wasm/wasm-asm.cc | 945 ++++++++++++++++++\n gcc/config/wasm/wasm-cg.cc | 621 ++++++++++++\n gcc/config/wasm/wasm-modes.def | 0\n gcc/config/wasm/wasm-passes.cc | 153 +++\n gcc/config/wasm/wasm-passes.def | 27 +\n gcc/config/wasm/wasm-protos.h | 12 +\n gcc/config/wasm/wasm.cc | 128 +++\n gcc/config/wasm/wasm.h | 307 ++++++\n gcc/config/wasm/wasm.md | 495 +++++++++\n gcc/df-problems.cc | 6 +-\n gcc/df-scan.cc | 4 +\n gcc/doc/tm.texi | 5 +\n gcc/doc/tm.texi.in | 2 +\n gcc/expr.cc | 3 +-\n gcc/target.def | 7 +\n gcc/testsuite/c-c++-common/analyzer/errno-1.c | 2 +\n .../c-c++-common/analyzer/isatty-1.c | 1 +\n .../gcc.c-torture/compile/20000804-1.c | 1 +\n gcc/testsuite/gcc.c-torture/compile/pr55921.c | 1 +\n .../gcc.c-torture/compile/pr60655-1.c | 2 +-\n .../gcc.c-torture/execute/20030222-1.c | 2 +-\n .../execute/builtins/20010124-1.x | 2 +-\n .../ieee/bfloat16-builtin-issignaling-1.c | 1 +\n .../execute/ieee/builtin-issignaling-1.c | 1 +\n .../ieee/float128-builtin-issignaling-1.c | 1 +\n .../ieee/float128x-builtin-issignaling-1.c | 1 +\n .../ieee/float16-builtin-issignaling-1.c | 1 +\n .../ieee/float32-builtin-issignaling-1.c | 1 +\n .../ieee/float32x-builtin-issignaling-1.c | 1 +\n .../ieee/float64-builtin-issignaling-1.c | 1 +\n .../ieee/float64x-builtin-issignaling-1.c | 1 +\n .../gcc.c-torture/execute/pr67037-1.c | 56 ++\n gcc/testsuite/gcc.c-torture/execute/pr67037.c | 4 +-\n gcc/testsuite/gcc.dg/20060410.c | 2 +-\n .../analyzer/fd-access-mode-target-headers.c | 1 +\n .../gcc.dg/analyzer/fd-mktemp-family.c | 1 +\n gcc/testsuite/gcc.dg/analyzer/mkdtemp-1.c | 1 +\n gcc/testsuite/gcc.dg/analyzer/mkostemp-1.c | 1 +\n gcc/testsuite/gcc.dg/analyzer/mkostemps-1.c | 1 +\n gcc/testsuite/gcc.dg/analyzer/mkstemp-1.c | 1 +\n gcc/testsuite/gcc.dg/analyzer/mkstemps-1.c | 1 +\n gcc/testsuite/gcc.dg/analyzer/mktemp-1.c | 1 +\n gcc/testsuite/gcc.dg/array-quals-1.c | 1 +\n gcc/testsuite/gcc.dg/attr-weakref-1.c | 3 +\n gcc/testsuite/gcc.dg/builtin-alloc-size.c | 1 +\n gcc/testsuite/gcc.dg/builtin-apply5.c | 1 +\n gcc/testsuite/gcc.dg/builtin-prefetch-1.c | 3 +-\n gcc/testsuite/gcc.dg/builtins-config.h | 2 +\n gcc/testsuite/gcc.dg/builtins-nonnull.c | 1 +\n gcc/testsuite/gcc.dg/c23-stdint-1.c | 1 +\n gcc/testsuite/gcc.dg/c99-stdint-1.c | 1 +\n gcc/testsuite/gcc.dg/c99-stdint-2.c | 1 +\n gcc/testsuite/gcc.dg/c99-stdint-7.c | 3 +\n gcc/testsuite/gcc.dg/c99-stdint-8.c | 1 +\n gcc/testsuite/gcc.dg/charset/function.c | 2 +-\n gcc/testsuite/gcc.dg/cpp/escape-3.i | 1 +\n gcc/testsuite/gcc.dg/format/pr78304.c | 1 +\n gcc/testsuite/gcc.dg/ipa/symver1.c | 2 +-\n gcc/testsuite/gcc.dg/lower-subreg-1.c | 2 +-\n gcc/testsuite/gcc.dg/pch/valid-1.c | 1 +\n gcc/testsuite/gcc.dg/pr115066.c | 2 +-\n gcc/testsuite/gcc.dg/pr28755.c | 2 +-\n gcc/testsuite/gcc.dg/pr49551.c | 2 +-\n gcc/testsuite/gcc.dg/profile-info-section.c | 1 +\n gcc/testsuite/gcc.dg/stdint-width-1.c | 1 +\n gcc/testsuite/gcc.dg/stdint-width-2.c | 1 +\n gcc/testsuite/gcc.dg/tls/thr-cse-1.c | 2 +-\n gcc/testsuite/gcc.misc-tests/gcov-23.c | 1 +\n gcc/testsuite/gcc.misc-tests/gcov.exp | 4 +\n gcc/testsuite/gcc.misc-tests/options.exp | 9 +-\n gcc/testsuite/lib/file-format.exp | 8 +-\n gcc/testsuite/lib/scanasm.exp | 2 +\n gcc/testsuite/lib/target-supports.exp | 39 +-\n libgcc/config.host | 5 +\n libgcc/config/wasm/t-wasm | 4 +\n 78 files changed, 2991 insertions(+), 29 deletions(-)\n create mode 100644 gcc/config/wasm/attrs.md\n create mode 100644 gcc/config/wasm/t-wasm\n create mode 100644 gcc/config/wasm/wasm-asm.cc\n create mode 100644 gcc/config/wasm/wasm-cg.cc\n create mode 100644 gcc/config/wasm/wasm-modes.def\n create mode 100644 gcc/config/wasm/wasm-passes.cc\n create mode 100644 gcc/config/wasm/wasm-passes.def\n create mode 100644 gcc/config/wasm/wasm-protos.h\n create mode 100644 gcc/config/wasm/wasm.cc\n create mode 100644 gcc/config/wasm/wasm.h\n create mode 100644 gcc/config/wasm/wasm.md\n create mode 100644 gcc/testsuite/gcc.c-torture/execute/pr67037-1.c\n create mode 100644 libgcc/config/wasm/t-wasm" }