Show a cover letter.

GET /api/1.2/covers/2233237/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
}