From patchwork Thu Sep 14 13:24:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qing Zhao X-Patchwork-Id: 139584 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp346469vqi; Thu, 14 Sep 2023 06:25:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGvu7Gb9CoLn/yh4VLE1HoUBcHsFMa3GDEbyPBTbiE+5bu1usb4yKxTM82lmIpbnnqIQ6Zh X-Received: by 2002:a17:907:789a:b0:9aa:1e2f:7a9c with SMTP id ku26-20020a170907789a00b009aa1e2f7a9cmr4698339ejc.8.1694697915976; Thu, 14 Sep 2023 06:25:15 -0700 (PDT) Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id a21-20020a170906191500b0099bd58fb8c5si1305992eje.751.2023.09.14.06.25.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 06:25:15 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=g8IBGJxz; arc=fail (signature failed); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1AB2E3857718 for ; Thu, 14 Sep 2023 13:25:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1AB2E3857718 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1694697914; bh=aC1uE5NFY+IW3AaStLSls3dksTHB7YVRacyaVNxpP9g=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=g8IBGJxzHWmuWIhtb95WVTA/pXwbojrfqLETjCnhp3lTrtNZTYfqD5YqLPlZJGM1F xH4IZmwavX0E3luRs6LZF6y4Az15975GsEdUr/Q11nkMq2N6xnVVvW1Z+/lg4PivsC w9UEeC9CoOAW1IWWn3LGfZLrlv+1z00p5qgaxO6E= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 74F943858D20 for ; Thu, 14 Sep 2023 13:24:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 74F943858D20 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38E8nFsW008596 for ; Thu, 14 Sep 2023 13:24:29 GMT Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3t2y7mw8xy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 14 Sep 2023 13:24:28 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 38EBlTep003049 for ; Thu, 14 Sep 2023 13:24:18 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3t0f58p8pe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 14 Sep 2023 13:24:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I1b3KzgVv4/+qafUeMwkpfEaR/+bHEzUi71/xSWf7+b7uLtoeoHkrUkcjulqPPPu/NQWT52xv+SvLMmyCvQNicdYZzDWnOCgQlaaOi+YeCsH7I/6aIQ2PWLvSk3MOtGpOI8SCrqmiuGxJwhJ8z8+/ECEadCQY4IedwrCIbX2WTf9uflvM1qWvGuTtiSgQWlvApjfoWECK36Uc9pXUE19NZbo+M7gjVeVb8ac+FWjvF0qcqzLAI4SYabKBJ6GMdY3EjMZ3XhVj0/fa402LT7wlymPrPhl6LAD2+9s1CCyJB8wxsLjB4lV/uPZaV8rm3ga0ZLMuopzBrogc3nSrpkbvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aC1uE5NFY+IW3AaStLSls3dksTHB7YVRacyaVNxpP9g=; b=bnVTzuPXSknOtUtWl5nW2jEHK1w9FAFPwVk0oWqQRz4qAu2l9u9IOr2yLryFBifrZlgj/W4mo/95NhXFp7ZnNKBIgA1rCzYpqtdm3YvweqSYwm17SqXgKJlPOD3U1xtF3jKeAKvNBScOP/AbxfbzR2vM09NGiy3zsLJ20DEm15+RsLwqWnov05tpF0jpIMokJ3w+m92lvUZj7M1dtBcBwsfap5OmOOQ7YGyf7VB97F+vHzj7E33WB8lIYCMUPC/6hJuJCmX5Q1vAJqxyOnfSWw7egAx03llX3LT5D1OJv6zLRSd6ti3j/9fQzGUVKQtWcuLK8EKf5aeqgu+xSHol7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SJ2PR10MB7040.namprd10.prod.outlook.com (2603:10b6:a03:4c5::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.33; Thu, 14 Sep 2023 13:24:16 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba%7]) with mapi id 15.20.6768.029; Thu, 14 Sep 2023 13:24:16 +0000 To: gcc-patches@gcc.gnu.org Cc: Qing Zhao Subject: [PATCH] tree optimization/111407--SSA corruption due to widening_mul opt Date: Thu, 14 Sep 2023 13:24:09 +0000 Message-Id: <20230914132409.2381527-1-qing.zhao@oracle.com> X-Mailer: git-send-email 2.31.1 X-ClientProxiedBy: LO4P265CA0271.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:37a::7) To CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR10MB4344:EE_|SJ2PR10MB7040:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cc9bb1d-7af3-4cb5-dab9-08dbb525e4be X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sMF6giDBkkpBQo6nSM4YaLoLRYgjCDgmjhnR0q8NuOBan7rmqNr1jhqIqxRA9rQgmHqCmhzlJ2A3Fk/WL003EvLgeE/iXHAwa23j6lQx15igNtVJQ4vo3y5OqEoQTn3U9AMI2XX8aVozO0Jo6ARFbk+5miUlpf22TAMHO4cpGH3VELML9JoJtZboeP783Kp4ms3z3E821ZWDXoVK+XtDGPRFJA5fK+EZafsY9oVcFpkBSH1EZOABo3uP3mV0KB+QRu8E3+2ATyxlmzTnLZhbRfxfO9p8daaDmEwQJ8dSol5eOHYWExE2z947/iEf48TuyCChrJrkvAw9evunuqjm/Kxh9pojk8Zu/lVoQivPBoZTexw4fPHi0XSfhnPqg+dl8S1jOLeSSK8Gys52XNqIdPHiQdnK2WuJMs0RVjdc3DRMtPeYgT44Eq1JLqV8CXy1q2go15x0QoexNWx8KXxiAO3n+3/BbYTW+MN/r9AIjWpn7qFpZe7YknDBw6WIWq6AyRb+1vh18KdXufRw20GjYAfm+Kq3c/y3jU4eEHpamYg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(39860400002)(396003)(366004)(136003)(346002)(451199024)(186009)(1800799009)(38100700002)(6506007)(6486002)(6666004)(478600001)(6512007)(107886003)(26005)(2906002)(1076003)(66946007)(66556008)(6916009)(41300700001)(66476007)(44832011)(2616005)(83380400001)(4326008)(5660300002)(8676002)(8936002)(86362001)(36756003)(84970400001)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: V5GYrSKQpYHVsATbK0TTDKsivPDbTF3NdixiJHIlvzs9fbpP+zlGlwM8vkbg6Kn89c4Uh1d5Pd5tkyhunwSccytT6kP8/l4LAs5vntKSqZF6zicTfa7/B35gRzxzUNs6ypcrSbXCpTlTnx9exciAByMSCg7XMp81T17rKBJbxNfqihYeD5qocRiUpLtEg2sDyuLyKFP3/AUIhOwh2Za7KEW3DUDUqxsUlFSfYAUF5KfW/7hlgBf/kQ6bGttuGJVaK6fsGn/XbDHNwNVscRTiAzsVTpSgGirLctKpMzBVfJKABV3c1DmQVR9hTuA07xO6+vRgLtaZPWe14Zjm6w2GuNAwX8ONyceeevcy4TIkXpCtIoWjt2wmrhQdLWRiarlemob6++118pr9cX7SluV/b7xdpAoo9ZPT8g0M2zVgby0HGqEc3H1sqxhIttXv9petuy1IKCduwqui4NOr1w/PXRTVnwxdL91lw49FCa//M0IGVNCG4bQaUIsD4EsHCZ4POPWdByZugtiOyIGinZ3mZ+5zGTQqjCPaNkyUiBiY7wmoizIyemFWEFTdAxb7F+B5S7UKQfpvOOyXgDK5HLwkD9OoxA1bMEIcrmyuVgRA4bSNlN9TYFyIT5NUDWte7QLj3FB9046fU8LGZScpI4S1F7yqP5bkC7kYKrtVu/dZecFBFctiJY9z7UA6QG3EL9wa/y4o2JSZGkxoQxjVuVQrbsEMotjFiLHTfhBLWB/+/wmeYkmXB4g9Xz809vgFIYC1eDtfJGtdWw4EfYzsj2V58j6HyRZW7gcrEI2CG0sw9nQnA0RHU1AztdWb3Ub0md+4r/0GqJcG13uiMzIWv+jf9UpYI4R0OPZNdvGaLvrYjvc0rKWDYaUkAKgaL3yF9sL32R+9BQX8sLrtXwZnGDQKovICrvP1CST938CY9ZOomtThvJ6oj789mAh+kqwUk6OQBTDHcHFQ363NgyXKlkB47juaBFePOjmk8jH6kQxr5MF94iNw5fC/zvtVSEqYJQ2fgwd4EjM+dk+49K545hz1tAHo1j9TR24h6t7mrNsAnUyYz+AteG6vd3afhIwtUDpsTp8U3dKGNl7qSnOBQUBVcAbiQZ1xO5spPJ0oiwuQnDAt3lFTubM68KanvpDBV6d8OOZ2EyoOTAH1Eos/vV8LYX5z8ZfOM7xG44GWlkIfqQzkDOuD6HLyNcgnzHdS+Hh3+0h6sYh6Rll2BbEbynYmKC+GqBfiPhhwWVBRuXPa1LMeGNLXytzOmWhHzUwYJeE2YiEL7RFCmwyY4NQ6vsenPzDzRBwaQDD521fntY730COzFL4qIY3g1pLABEo9Vuy22JLtrQ4DEKXI2ibhlBLRnhNT+LDX1VDC3ydguY5KerYxJWAZwNO6L1ihsXxGt+uEa0Sgf3T1m2gP6tK4io3+PKlvwrWVROCKgohLVuPrb2sZL6eOPweUWx1rOJ3OhUNI4JAE2HTxwuZykS4uGoNH97Xso0vAHsnhKoBGY0u0dsUQ/3FUubHbKZdDitZ29aoJa44JME81mgwAhPMacxNIZTpwMWWpduJqhx2c9R0dfEtR18ddGjVjHVUCqm1HRrXo X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +sX3ChE/FAOi2Fi+tR3npGY092KfeihZl1Nsnp7GElPqCLdEMyGvOWQgKR0PdC9d9M4Wr15s8qkojs5ELxN853Ek8UM7r7QZkYDoQvE9XArXxtbTL9DLleDvbpviTqu/r0hCaCjwr4PBUOAfj+ONaN3R0QXZAuWYZYhqHCOMPgbgg9UHzx9xnjnFepDMw44VsbNPlU5jXL2xJA3YRQ9cCVPhsiBAqt+2UX/tS9RL9ux6aYY8KPJqAH64J2PtN+YLbsM9U9q9XHgis5F/FOLPgEM2Ofr71Md9Z6ENYP+TPusWu0hbPZqB8p4Eo2lcV7YKa5GHApNy3Cjvv++WEGL539twNkWXdwt7QcS25H6NKoqRY6JCkKvZDlodpsdYy4yptryi6k4geHrSvYlNy3hnBvJPr7d2k2m/hZFh2Vz6IS9ys5QipgHAEhITbvHAPpY1OfxsQzYbRSGMdtkU702K9/XBW9SYviTzJ4ldBQcx3L51WhdYHCbNkpQTuOORi3kR2ZN0+28hMFigZzqhFDygY07lsEoAYz51H2l9U3h+90Ft9i3tX6gw19AgoLiMP3HzAFNWHu043jLd06k1hHHReQ2cQxROG8stIDSgU2dxjdvSbFHT32VwpZVlkkWCt5Bni9BfbcQhUfuNspzFdL/9hcQ5ChStXsseyDaEhZUwM2iiquqlIoaOgZGSOmO00UGpZp1AgUa6dL90WOyz6C+W1QV2vZ1VkvYWmIFKsUbSP7OInqmBTcZbHwPtcf5OUNsx X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc9bb1d-7af3-4cb5-dab9-08dbb525e4be X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2023 13:24:16.0330 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2XkvzHVTImxqPtb05CmJ7dzGiFs3roGLLkWGb+mzO12jAk2j06alTE5A//MkcdzhtGyCi6yYkXOZFLJmlTuc2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7040 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-14_09,2023-09-14_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 spamscore=0 mlxscore=0 mlxlogscore=803 adultscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2309140115 X-Proofpoint-ORIG-GUID: GUrQ4utc2RLhpPxBPSn-6Bcz3FTr4AcT X-Proofpoint-GUID: GUrQ4utc2RLhpPxBPSn-6Bcz3FTr4AcT X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Qing Zhao via Gcc-patches From: Qing Zhao Reply-To: Qing Zhao Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777019562368894149 X-GMAIL-MSGID: 1777019562368894149 on conflict across an abnormal edge This is a bug in tree-ssa-math-opts.cc, when applying the widening mul optimization, the compiler needs to check whether the operand is in a ABNORMAL PHI, if YES, we should avoid the transformation. bootstrapped and regression tested on both aarch64 and x86, no issue. Okay for committing? thanks. Qing ===== PR tree-optimization/111407 gcc/ChangeLog: * tree-ssa-math-opts.cc (convert_mult_to_widen): Avoid the transform when one of the operands is subject to abnormal coalescing. gcc/testsuite/ChangeLog: * gcc.dg/pr111407.c: New test. --- gcc/testsuite/gcc.dg/pr111407.c | 21 +++++++++++++++++++++ gcc/tree-ssa-math-opts.cc | 8 ++++++++ 2 files changed, 29 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr111407.c diff --git a/gcc/testsuite/gcc.dg/pr111407.c b/gcc/testsuite/gcc.dg/pr111407.c new file mode 100644 index 00000000000..a171074753f --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr111407.c @@ -0,0 +1,21 @@ +/* PR tree-optimization/111407*/ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +enum { SEND_TOFILE } __sigsetjmp(); +void fclose(); +void foldergets(); +void sendpart_stats(int *p1, int a1, int b1) { + int *a = p1; + fclose(); + p1 = 0; + long t = b1; + if (__sigsetjmp()) { + { + long t1 = a1; + a1+=1; + fclose(a1*(long)t1); + } + } + if (p1) + fclose(); +} diff --git a/gcc/tree-ssa-math-opts.cc b/gcc/tree-ssa-math-opts.cc index 3db69ad5733..51c14d6bad9 100644 --- a/gcc/tree-ssa-math-opts.cc +++ b/gcc/tree-ssa-math-opts.cc @@ -2755,6 +2755,14 @@ convert_mult_to_widen (gimple *stmt, gimple_stmt_iterator *gsi) if (!is_widening_mult_p (stmt, &type1, &rhs1, &type2, &rhs2)) return false; + /* if any one of rhs1 and rhs2 is subject to abnormal coalescing, + avoid the tranform. */ + if ((TREE_CODE (rhs1) == SSA_NAME + && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (rhs1)) + || (TREE_CODE (rhs2) == SSA_NAME + && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (rhs2))) + return false; + to_mode = SCALAR_INT_TYPE_MODE (type); from_mode = SCALAR_INT_TYPE_MODE (type1); if (to_mode == from_mode)