get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/814918/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 814918,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/814918/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/alpine.LSU.2.20.1709181520360.26836@zhemvz.fhfr.qr/",
    "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": "<alpine.LSU.2.20.1709181520360.26836@zhemvz.fhfr.qr>",
    "list_archive_url": null,
    "date": "2017-09-18T13:22:13",
    "name": "[GRAPHITE] Fix PR69728",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "b983620817f0751f2595ef8920816fb6cb8d3035",
    "submitter": {
        "id": 4338,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/4338/?format=api",
        "name": "Richard Biener",
        "email": "rguenther@suse.de"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/alpine.LSU.2.20.1709181520360.26836@zhemvz.fhfr.qr/mbox/",
    "series": [
        {
            "id": 3644,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/3644/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=3644",
            "date": "2017-09-18T13:22:13",
            "name": "[GRAPHITE] Fix PR69728",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3644/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814918/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814918/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<gcc-patches-return-462399-incoming=patchwork.ozlabs.org@gcc.gnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "mailing list gcc-patches@gcc.gnu.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-462399-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"GK6gSZnC\"; dkim-atps=neutral",
            "sourceware.org; auth=none"
        ],
        "Received": [
            "from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xwmrh2Y1jz9s3w\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 18 Sep 2017 23:22:26 +1000 (AEST)",
            "(qmail 27993 invoked by alias); 18 Sep 2017 13:22:18 -0000",
            "(qmail 24847 invoked by uid 89); 18 Sep 2017 13:22:17 -0000",
            "from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by\n\tsourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tMon, 18 Sep 2017 13:22:15 +0000",
            "from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254])\tby\n\tmx1.suse.de (Postfix) with ESMTP id 50677AAB2\tfor\n\t<gcc-patches@gcc.gnu.org>; Mon, 18 Sep 2017 13:22:13 +0000 (UTC)"
        ],
        "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:date\n\t:from:to:subject:message-id:mime-version:content-type; q=dns; s=\n\tdefault; b=ilvR7JuJXPm7QS+r6BG1KgwQqIb26CZpmKYwkDYUdAB/kZPnSZ77i\n\t1igTlwG6JX5OWos9qf7t2UBgAuxCOWvUTug1Lbpo+VOsS0eQLPhhODsW8o0hfAOH\n\tjKqJijRi8N1T8ukfT5iHTiR9KiE/m5542Uw5BpQPDMTtnBndXFC70Q=",
        "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:date\n\t:from:to:subject:message-id:mime-version:content-type; s=\n\tdefault; bh=buvCsReFAYiB41cHLuml2BlxTRM=; b=GK6gSZnCIJKS/dbJ8nn6\n\tLJ/o0zvWheUI0Jg25joQKaC5CXuCtef6I3vxlOfv58lb0uV6sUuyx61r9f4sRVkv\n\tNZvkfMfpZ4l+pjXfulnxYquC4uHmIqmBstK+BMQyg4mN6RCQPeX8AEBcFKXiD4P/\n\tbPZeXcxd6rPQ+xOpdQBNAtg=",
        "Mailing-List": "contact gcc-patches-help@gcc.gnu.org; run by ezmlm",
        "Precedence": "bulk",
        "List-Id": "<gcc-patches.gcc.gnu.org>",
        "List-Unsubscribe": "<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>",
        "List-Archive": "<http://gcc.gnu.org/ml/gcc-patches/>",
        "List-Post": "<mailto:gcc-patches@gcc.gnu.org>",
        "List-Help": "<mailto:gcc-patches-help@gcc.gnu.org>",
        "Sender": "gcc-patches-owner@gcc.gnu.org",
        "X-Virus-Found": "No",
        "X-Spam-SWARE-Status": "No, score=-16.1 required=5.0 tests=BAYES_00, GIT_PATCH_1,\n\tGIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, RP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=",
        "X-HELO": "mx1.suse.de",
        "Date": "Mon, 18 Sep 2017 15:22:13 +0200 (CEST)",
        "From": "Richard Biener <rguenther@suse.de>",
        "To": "gcc-patches@gcc.gnu.org",
        "Subject": "[PATCH][GRAPHITE] Fix PR69728",
        "Message-ID": "<alpine.LSU.2.20.1709181520360.26836@zhemvz.fhfr.qr>",
        "User-Agent": "Alpine 2.20 (LSU 67 2015-01-07)",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=US-ASCII"
    },
    "content": "The following fixes the (old) ICE in outer_projection_mupa we now run\ninto with SPEC CPU 2006 as well.  As I don't understand what the\ncode does or how it should behave when the scheduling domain is empty\nthe following simply adds a way to indicate failure when we'd\npreviously ICE.\n\nBootstrap and regtest running on x86_64-unknown-linux-gnu, will apply\nonce that finished.\n\nRichard.\n\n2017-09-18  Richard Biener  <rguenther@suse.de>\n\n\tPR tree-optimization/69728\n\t* graphite-sese-to-poly.c (schedule_error): New global.\n\t(add_loop_schedule): Handle empty domain by failing the\n\tschedule.\n\t(build_original_schedule): Handle schedule_error.\n\n\t* gfortran.dg/graphite/pr69728.f90: New testcase.\n\t* gcc.dg/graphite/pr69728.c: Likewise.",
    "diff": "Index: gcc/graphite-sese-to-poly.c\n===================================================================\n--- gcc/graphite-sese-to-poly.c\t(revision 252920)\n+++ gcc/graphite-sese-to-poly.c\t(working copy)\n@@ -1030,6 +1035,8 @@ outer_projection_mupa (__isl_take isl_un\n   return isl_multi_union_pw_aff_from_union_pw_multi_aff (data.res);\n }\n \n+static bool schedule_error;\n+\n /* Embed SCHEDULE in the constraints of the LOOP domain.  */\n \n static isl_schedule *\n@@ -1043,6 +1050,14 @@ add_loop_schedule (__isl_take isl_schedu\n   if (empty < 0 || empty)\n     return empty < 0 ? isl_schedule_free (schedule) : schedule;\n \n+  isl_union_set *domain = isl_schedule_get_domain (schedule);\n+  if (isl_union_set_is_empty (domain))\n+    {\n+      schedule_error = true;\n+      isl_union_set_free (domain);\n+      return schedule;\n+    }\n+\n   isl_space *space = isl_set_get_space (iterators);\n   int loop_index = isl_space_dim (space, isl_dim_set) - 1;\n \n@@ -1063,7 +1078,6 @@ add_loop_schedule (__isl_take isl_schedu\n   prefix = isl_multi_aff_set_tuple_id (prefix, isl_dim_out, label);\n \n   int n = isl_multi_aff_dim (prefix, isl_dim_in);\n-  isl_union_set *domain = isl_schedule_get_domain (schedule);\n   isl_multi_union_pw_aff *mupa = outer_projection_mupa (domain, n);\n   mupa = isl_multi_union_pw_aff_apply_multi_aff (mupa, prefix);\n   return isl_schedule_insert_partial_schedule (schedule, mupa);\n@@ -1169,6 +1183,8 @@ build_schedule_loop_nest (scop_p scop, i\n static bool\n build_original_schedule (scop_p scop)\n {\n+  schedule_error = false;\n+\n   int i = 0;\n   int n = scop->pbbs.length ();\n   while (i < n)\n@@ -1183,6 +1199,14 @@ build_original_schedule (scop_p scop)\n       scop->original_schedule = add_in_sequence (scop->original_schedule, s);\n     }\n \n+  if (schedule_error)\n+    {\n+      if (dump_file)\n+\tfprintf (dump_file, \"[sese-to-poly] failed to build \"\n+\t\t \"original schedule\\n\");\n+      return false;\n+    }\n+\n   if (dump_file)\n     {\n       fprintf (dump_file, \"[sese-to-poly] original schedule:\\n\");\nIndex: gcc/testsuite/gfortran.dg/graphite/pr69728.f90\n===================================================================\n--- gcc/testsuite/gfortran.dg/graphite/pr69728.f90\t(nonexistent)\n+++ gcc/testsuite/gfortran.dg/graphite/pr69728.f90\t(working copy)\n@@ -0,0 +1,26 @@\n+! { dg-do compile }\n+! { dg-options \"-O3 -floop-nest-optimize\" }\n+SUBROUTINE rk_addtend_dry ( t_tend, t_tendf, t_save, rk_step, &\n+                            h_diabatic, mut, msft, ide, jde,  &\n+                            ims,ime, jms,jme, kms,kme,        &\n+                            its,ite, jts,jte, kts,kte)\n+   IMPLICIT NONE\n+   INTEGER ,  INTENT(IN   ) :: ide, jde, ims, ime, jms, jme, kms, kme, &\n+                               its, ite, jts, jte, kts, kte\n+   INTEGER ,  INTENT(IN   ) :: rk_step\n+   REAL , DIMENSION( ims:ime , kms:kme, jms:jme  ), &\n+       INTENT(INOUT) :: t_tend, t_tendf\n+   REAL , DIMENSION( ims:ime , kms:kme, jms:jme  ) , &\n+       INTENT(IN   ) ::  t_save, h_diabatic\n+   REAL , DIMENSION( ims:ime , jms:jme ) , INTENT(IN   ) :: mut, msft\n+   INTEGER :: i, j, k\n+   DO j = jts,MIN(jte,jde-1)\n+   DO k = kts,kte-1\n+   DO i = its,MIN(ite,ide-1)\n+     IF(rk_step == 1)t_tendf(i,k,j) = t_tendf(i,k,j) +  t_save(i,k,j)\n+      t_tend(i,k,j) =  t_tend(i,k,j) +  t_tendf(i,k,j)/msft(i,j)  &\n+                                     +  mut(i,j)*h_diabatic(i,k,j)/msft(i,j)\n+   ENDDO\n+   ENDDO\n+   ENDDO\n+END SUBROUTINE rk_addtend_dry\nIndex: gcc/testsuite/gcc.dg/graphite/pr69728.c\n===================================================================\n--- gcc/testsuite/gcc.dg/graphite/pr69728.c\t(nonexistent)\n+++ gcc/testsuite/gcc.dg/graphite/pr69728.c\t(working copy)\n@@ -0,0 +1,21 @@\n+/* { dg-do compile } */\n+/* { dg-options \"-O3 -floop-nest-optimize\" } */\n+\n+int a[1];\n+int b, c, d, e;\n+void\n+fn1 ()\n+{\n+  d = 9;\n+  for (; c; c++)\n+    {\n+      ++d;\n+      b = 8;\n+      for (; b; b--)\n+\t{\n+\t  if (d)\n+\t    break;\n+\t  a[b] = e;\n+\t}\n+    }\n+}\n",
    "prefixes": [
        "GRAPHITE"
    ]
}