From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id C90F73857837 for ; Wed, 9 Sep 2020 17:38:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C90F73857837 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Sandra_Loosemore@mentor.com IronPort-SDR: 6W8uTICVF8UjhH4rADbu7kugf2kONuQwI2QpAL9vmSRgbd1eKphk9oo9Rr9LNJcl2/d3Mdvu/5 uhALj1N80yEzY/NfKlDDvurhclCIwXDAGXvwA4wi8xfId26gnSCQViF27p4zoszCJCdnE+tBe1 ZLyhw96fKhdKF2tBw1Gl2dM50Xhn40PUgN0FA4O8+U3kGrmIffMmk7uBVrVwUhi1fW0vKRNIdC x06vjEvvmvgchy1xLl1cqW5zQBJwT6tRAU1wvaP9qtISesx8B6SAh7t64VOu/AWFTodf0hou8d A6g= X-IronPort-AV: E=Sophos;i="5.76,409,1592899200"; d="scan'208";a="54926362" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 09 Sep 2020 09:38:45 -0800 IronPort-SDR: GZp0KWiTEo3RHAFsFZBskQrJFbba8NIt8dGsY9Al3rV4zNfXdxFX9qLcFs+vU5yrMp7Xboefn9 AI7xwOELnToFNwUdUsJ9qNDuSxKwbTE5U70F0welPodiCVCWPBvYbONnhK9Lcxh9t+A4yHB48f Yxq/ZtfXu0z75R7BuMArh6V5+SOb1PDZDgmOBfxeWyQQJYbizytPdXDQqUhVuBwMAgAFijqMD+ DMzbG7Zc7tof5Gnp4RW9/gcqyL3/yra+t+FN6Vrsc4Rxq9Tx604PxIhq5VeFMOcMSZXQXppFWr 0OQ= Subject: Re: [PING^2] [PATCH V2 0/4] Unify C and C++ handling of loops and switches From: Sandra Loosemore To: References: <20200813163432.1067-1-sandra@codesourcery.com> CC: Joseph Myers , "jason@redhat.com" , Nathan Sidwell Message-ID: <98790677-c174-69ff-1258-b8677b984bad@codesourcery.com> Date: Wed, 9 Sep 2020 11:38:38 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-ClientProxiedBy: svr-orw-mbx-01.mgc.mentorg.com (147.34.90.201) To svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00, BODY_8BITS, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2020 17:38:55 -0000 Ping again on this patch series: https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551927.html These patches just missed making it into GCC 10 last year -- although there seemed to be agreement in principle, they needed a bit more work to resolve test regressions. Now that we are heading into fall again, I am worried that they may miss GCC 11 as well if they need further re-working but I don't get feedback until very late in the release cycle, or any feedback at all. :-( I also have a set of OpenACC patches for identifying loops in kernels regions that depend on these; I'll be posting those shortly and I hope to get those into GCC 11 as well. -Sandra > On 8/13/20 10:34 AM, Sandra Loosemore wrote: >> This is a revised version of the patch set originally posted >> last November: >> >> https://gcc.gnu.org/pipermail/gcc-patches/2019-November/534142.html >> >> In addition to generally updating and rebasing the patches to reflect >> other changes on mainline in the meantime, for this version I have >> switched to using the C lowering strategy (directly to goto form) >> rather than the C++ one (to LOOP_EXPR) because of regressions in the C >> optimization tests.  Besides the ones previously noted in the original >> patch submission, there were a bunch of new ones since November.  Some >> of them were trivial to fix (e.g., flipping branch probabilities to >> reflect the different sense of the loop exit condition in the >> C++-style output), but I wasn't making much progress on others and >> eventually decided to pursue the "plan B" of using the C-style output >> everywhere, as discussed here: >> >> https://gcc.gnu.org/pipermail/gcc-patches/2019-December/536536.html >> >> The only regression I ran into with this was a bootstrap failure >> building the Fortran front end from a new -Wmaybe-uninitialized error. >> This might be a false positive but part 3 of the new series works >> around it by adding an assertion to give g++ a hint.  Unfortunately I >> had no luck in trying to reduce this to a standalone test case, but I >> did observe that the failure went away when I compiled that file with >> debugging enabled.  :-S  I could file a PR to look into this further if >> the workaround is good enough for now. >> >> -Sandra >> >> >> Sandra Loosemore (4): >>    Move loop and switch tree data structures from cp/ to c-family/. >>    Use C-style loop lowering instead of C++-style. >>    Work around bootstrap failure in Fortran front end. >>    Change C front end to emit structured loop and switch tree nodes. >> >>   gcc/c-family/c-common.c             |  24 ++ >>   gcc/c-family/c-common.def           |  24 ++ >>   gcc/c-family/c-common.h             |  53 +++- >>   gcc/c-family/c-dump.c               |  38 +++ >>   gcc/c-family/c-gimplify.c           | 422 >> ++++++++++++++++++++++++++++++++ >>   gcc/c-family/c-pretty-print.c       |  92 ++++++- >>   gcc/c/c-decl.c                      |  18 +- >>   gcc/c/c-lang.h                      |   3 +- >>   gcc/c/c-objc-common.h               |   2 + >>   gcc/c/c-parser.c                    | 125 +++++----- >>   gcc/c/c-tree.h                      |  21 +- >>   gcc/c/c-typeck.c                    | 227 ++++++----------- >>   gcc/cp/cp-gimplify.c                | 469 >> +++++++----------------------------- >>   gcc/cp/cp-objcp-common.c            |  13 +- >>   gcc/cp/cp-tree.def                  |  23 -- >>   gcc/cp/cp-tree.h                    |  40 --- >>   gcc/cp/cxx-pretty-print.c           |  78 ------ >>   gcc/cp/dump.c                       |  31 --- >>   gcc/doc/generic.texi                |  56 +++-- >>   gcc/fortran/interface.c             |   4 + >>   gcc/objc/ChangeLog                  |   5 + >>   gcc/objc/objc-act.c                 |   6 +- >>   gcc/testsuite/gcc.dg/gomp/block-7.c |  12 +- >>   23 files changed, 938 insertions(+), 848 deletions(-) >> >