From patchwork Thu Nov 11 11:24:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kewen.Lin" X-Patchwork-Id: 47446 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D23EE3858408 for ; Thu, 11 Nov 2021 11:26:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D23EE3858408 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1636629999; bh=LT4yW6JQRBvyejIUrfQT4w606NcJMAqKxcB7apHoJ60=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=qB1J1cyohc5Nl7X9jOJcZydpZ5Yh0WGK10Sz3ZV/y1FLbXl5kT2o1gySLX3kEVmqx RuUZXD1QiY3V+nrM5JcW9fGyOwBMboaiMKAgE4CNNx6jVxwXSwOPuH7UUa71+Gunq+ xi4O5zyQU2uhMqs86dUHUaHzj1yxDyye9YrWsdsQ= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 8EB2F385840A for ; Thu, 11 Nov 2021 11:25:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8EB2F385840A Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1ABAh9nm002647 for ; Thu, 11 Nov 2021 11:25:14 GMT Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0b-001b2d01.pphosted.com with ESMTP id 3c91ny18eh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 11 Nov 2021 11:25:13 +0000 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 1ABBPATK013203 for ; Thu, 11 Nov 2021 11:25:12 GMT Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by ppma04ams.nl.ibm.com with ESMTP id 3c5hbaw0fh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 11 Nov 2021 11:25:11 +0000 Received: from d06av22.portsmouth.uk.ibm.com (d06av22.portsmouth.uk.ibm.com [9.149.105.58]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 1ABBP7N259048196 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 11 Nov 2021 11:25:07 GMT Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D9444C06D; Thu, 11 Nov 2021 11:25:07 +0000 (GMT) Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 199A64C040; Thu, 11 Nov 2021 11:25:07 +0000 (GMT) Received: from trout.aus.stglabs.ibm.com (unknown [9.40.194.100]) by d06av22.portsmouth.uk.ibm.com (Postfix) with ESMTP; Thu, 11 Nov 2021 11:25:06 +0000 (GMT) To: gcc-patches@gcc.gnu.org Subject: [PATCH 00/15] Fix non-robust split condition in define_insn_and_split Date: Thu, 11 Nov 2021 05:24:44 -0600 Message-Id: X-Mailer: git-send-email 2.27.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: lZ2A8kEAsp-rvKwrVjuz34NOgyoXhiNN X-Proofpoint-ORIG-GUID: lZ2A8kEAsp-rvKwrVjuz34NOgyoXhiNN X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475 definitions=2021-11-11_03,2021-11-08_02,2020-04-07_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 mlxscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 suspectscore=0 priorityscore=1501 mlxlogscore=509 bulkscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111110066 X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-Patchwork-Original-From: Kewen Lin via Gcc-patches From: "Kewen.Lin" Reply-To: Kewen Lin Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi, This trivial patch series is the secondary product from the previous investigation to see how many define_insn_and_split cases where split_condition isn't applied on top of condition for define_insn part and doesn't contain it, when there were some discussions on whether we should warn for empty split condition or join both conditions implicitly etc. (See the threads[1][2]). For some of investigated define_insn_and_splits, the corresponding split_condition is suspected not robust, especially the split condition has only reload_complete. Lacking of good understanding on the related port and the context of the code, I could be wrong. But I think it may be a good idea to raise them and get them either fixed or clarified. It would be also good as preparation for the possible conditions joining in future. For some ports with the proposed fixes applied, the split conditions in all define_insn_and_splits will either have the explicit leading "&&" or fully contain the condition for define_insn part. In other words, the implicit conditions joining would be one nop for this kind of port, we don't need any other checks/fixes for it. [1] https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571647.html [2] https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572120.html BR, Kewen ----- Kewen Lin (15): frv: Fix non-robust split condition in define_insn_and_split m32c: Fix non-robust split condition in define_insn_and_split rx: Fix non-robust split condition in define_insn_and_split s390: Fix non-robust split condition in define_insn_and_split v850: Fix non-robust split condition in define_insn_and_split visium: Fix non-robust split condition in define_insn_and_split xtensa: Fix non-robust split condition in define_insn_and_split alpha: Fix non-robust split condition in define_insn_and_split arm: Fix non-robust split condition in define_insn_and_split bfin: Fix non-robust split condition in define_insn_and_split csky: Fix non-robust split condition in define_insn_and_split i386: Fix non-robust split condition in define_insn_and_split ia64: Fix non-robust split condition in define_insn_and_split mips: Fix non-robust split condition in define_insn_and_split sh: Fix non-robust split condition in define_insn_and_split gcc/config/alpha/alpha.md | 4 +-- gcc/config/arm/arm.md | 2 +- gcc/config/bfin/bfin.md | 4 +-- gcc/config/csky/csky.md | 28 ++++++++++----------- gcc/config/frv/frv.md | 10 ++++---- gcc/config/i386/i386.md | 20 +++++++-------- gcc/config/ia64/vect.md | 4 +-- gcc/config/m32c/cond.md | 4 +-- gcc/config/mips/mips.md | 4 +-- gcc/config/rx/rx.md | 2 +- gcc/config/s390/s390.md | 2 +- gcc/config/s390/vector.md | 4 +-- gcc/config/sh/sh.md | 8 +++--- gcc/config/v850/v850.md | 8 +++--- gcc/config/visium/visium.md | 50 ++++++++++++++++++------------------- gcc/config/xtensa/xtensa.md | 4 +-- 16 files changed, 79 insertions(+), 79 deletions(-)