From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 813C83858D1E for ; Sat, 24 Dec 2022 09:54:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 813C83858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BO2tt3I016862; Sat, 24 Dec 2022 09:54:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : references : date : in-reply-to : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=NyxpFlXzRUXBwyHxB084CT0ZWXUTxje0865rj3Uo8L4=; b=2Uxs5PLrlnkT7sZw+miXCGCjU1rj4dEH6LYTr1sA6jsVDPia3hfBC4Bkp4E9elGGIw1z l6A3tPkkSte86ctHq73Xx40eyHJKaBd0RCKRcbZArBN30bRYpNRKQ2jWzc3qgsaizkfn 9vyLhuyBVaKQpKk912OrEfaWFUj+MhX001Rdb04Rp0a5JhY96Oq5JkmPUXTjgRDBxgrV xSy05XD4n8o70HFqQu3TQ9DEZv4rsQAr0h3ThCFCFN2DENzgcodXGomxl9bVh96ltyU9 3NrUFpGDtvvXY1R9e73rrtg1K54a+WEq6Ds0jottHJug+aCrWeuZw1mxNi/turwhp578 CQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mns1t8dnr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 24 Dec 2022 09:54:37 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2BO7EIQQ018884; Sat, 24 Dec 2022 09:54:37 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2102.outbound.protection.outlook.com [104.47.55.102]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3mnqv992un-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 24 Dec 2022 09:54:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FjQTw8Ln9oZQ3nlRldBi95IAC5a2hd5QSB0OHjo+JLsAhZJ0n6MzELAoEIrUdy68VxUaMtubmNHkO8yQHMRR5uP2RWpqNQlxvc8Jq21U/7ZwgxEqTO58yRKIVh+KZkg2dxusS2dDybX8zMnVtyTiX7QqdhfDNqvLMiSfBt8v9r2ZhTUsgf9mstEOhMlQzeADV5WmXLcRiCDttFMt+QZNizstOkO1PHtVRxZnQab4Viq3v8PRSRvwPeIQZyqq8bCR+tF6cGptK43xbnbdyoN6898/0KDIwgxzMYeo2T1Gb4QZ3kNB9DU8XfJja5yD9TNPuBafoySOnLc2DBsQhqkhLA== 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=NyxpFlXzRUXBwyHxB084CT0ZWXUTxje0865rj3Uo8L4=; b=HLcguacooFonP16+1mGPjVcS8Yymg94nhz88TPQUzGLsnCVo1J5ovWLpd/cs0EsjoE0vGCHZJVo+3/KtuqYuyHClRPjOI3gTXY1WkUwbDtOPHO0l1Kbf8D+hy0KkMf3vcCMDVfV7P8CdVyEWd2xPWFP3t2nNHF40Lrs3d7JoQzHmWwYTBH/VPOYUMpzwrOx2V9W3GGzKr9Kygp6toFT/wTLV/eSIPv4EIWm2ADeRqEfnkHTqMuR1yIi8lys6GQs/ur4tmc2qFm4OGf/Uwgm2cMaA52t5/QOTMZnDI5Vuz/9WWWZa+FJxBHlDd2FFNQUt60NBxjUSzZgpN2cj3bhL1Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NyxpFlXzRUXBwyHxB084CT0ZWXUTxje0865rj3Uo8L4=; b=bRwHO9R/WObo52KTPWxej+gK31T5kklKo6t1cldh/Sx6qpYkFTLO4kHfFiFD8Enztv1bd7PqPSodkr97i8IyqORIi31SACoD5hyVavJeD8RXKKKHTg8UrqLjIH44fYeMNoBUPq1tsDZ8VDenIz2jbl5t3q1FlI0MfgjopArTkdo= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by DM6PR10MB4140.namprd10.prod.outlook.com (2603:10b6:5:21b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Sat, 24 Dec 2022 09:54:34 +0000 Received: from BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::ebe9:b7c9:82ae:d256]) by BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::ebe9:b7c9:82ae:d256%7]) with mapi id 15.20.5944.013; Sat, 24 Dec 2022 09:54:34 +0000 From: "Jose E. Marchesi" To: Richard Biener Cc: Alexander Monakov , Qing Zhao , gcc-patches@gcc.gnu.org Subject: Re: [PATCH V2] Disable sched1 in functions that call setjmp References: <0ad07be0-876d-cc24-6cdb-6b94690dfc52@ispras.ru> <64AC0724-25B0-4A85-AA9E-8A53A82C8A6B@gmail.com> Date: Sat, 24 Dec 2022 10:58:41 +0100 In-Reply-To: <64AC0724-25B0-4A85-AA9E-8A53A82C8A6B@gmail.com> (Richard Biener's message of "Sat, 24 Dec 2022 10:26:55 +0100") Message-ID: <87edsp86ni.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0056.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:31::20) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|DM6PR10MB4140:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a43a0fb-5c40-4b68-1273-08dae594dc78 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8T0i9eZoKTSKzV4In7yhXVocMGQ8kANrEbamtY8G8jDYswaX7keFBTAdlV99oR51t4oD/boELE5W9IaxHrbdCbrR9K3RCEjcrWO6YeFVRQ4h5qFyY+gpWXJwKA+j5/ef2gtx9mOeAsOM9Z8usbzvWzcipRzxCrvKKfvX3LT2Dx9eSjCmROBK79R7HSDyDSkLvHUt2mlLJ5T1gubP5ir8idzV5a6nvl0+y/YcPAvOnzrLrEnloZwHdV070OzttwU+MmlTL4KA1fY1tcWoL4qa4As45M+AG3GJH5yhIl7s7+1umNoKxmNuDK8D/DVP1/0H/KuobdPz5hFdGNyRG+xYTYEFePsd46j+VL0fcFtdyUG/EzlfWy4wGhwndP2jXDfEtTUEXxwCCqLueJeHTqlALFlixb6Xjgv3c1JElJfn4Jp6VXwhfEsqZUxAJO4oTelw6U5kMeEXKKLzkZ4GPw5wc1DV+OCL3whk+V4wPtitXOBphX8CbBRY+NW4YImJ0HTdr+PR3fLROpl7cQwefRe8kkKxOr3axph1wfqntY8AH0WgTLiJ8JGRlYfdQnTgLikYauwmpezfiIcOYTHFsAgKFhq2fyxp6zth5OYGTqsHfabvFO4rBHdSMjMoZEKcYOg8KYo9BlwzuGN9wuqQt5JTQQP511i1I1Zk0vUpotbB9XQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2888.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(39860400002)(346002)(366004)(136003)(451199015)(83380400001)(2616005)(6916009)(86362001)(36756003)(38100700002)(8936002)(316002)(8676002)(66556008)(2906002)(66946007)(66476007)(4326008)(6666004)(5660300002)(54906003)(41300700001)(26005)(186003)(6506007)(6486002)(6512007)(478600001)(966005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M0xYbnZUQmhFSGkrUDlUMUJUUlJHS05sZExNRmRLbDlpYmY4ZTB0TVpsK3l3?= =?utf-8?B?blpHbVBUSFdQd0tyMGFmNGxqZ2dVNFY3L1dtOFJGdHU4ZlQxYUk5UDBWazVn?= =?utf-8?B?NFp0ZVg5MUN0cXVib0w0Q0ZCU3FaejZaTVlIUlBEdlRhMThXdTFlM0JvQmJj?= =?utf-8?B?TFMrcEcxY0pjakNwZ1QwbjA4NG96dC9MUFMwV2ZXZWhiV1BSb3Z4MFNQTmNI?= =?utf-8?B?Rm1uVVNRSVpzalVTRE1MSGdNZTh2akNvTWdBRXB5eDliQlQvOWNJa0dyd3NB?= =?utf-8?B?WVBOekd4VklBNlBsbXNkZm8yTklOUnV4cVY5UGd0YThlOGdkSi9talNYYmU5?= =?utf-8?B?Tnd6Ym9QRmc3N3oxRVRNdG9YSlpRTThDeW9vY3ErYm92RzF6UG54TlBPOS9R?= =?utf-8?B?V1A2a0ZPVFRVc01FaDhhREQrMTJYMDdPTzFVdFhzbXRnTHYxd1IzSzNodlhx?= =?utf-8?B?b3lBNWdoVUR0aW9QQjFrWC9YcGRLTmo1VUdybDl2ekNQTzdDRUlhcmttWktx?= =?utf-8?B?bXVoNVNHckk4VEFUZ0MrckhuUEJuU3FZSHlVRWRhaEg4WEthblRQKzdjTlNJ?= =?utf-8?B?N3krNDlSWk1xQ2VHQTdxQXVoUmZuNndSRU1GamsxUmNRNUZTVG9GZVErZmdh?= =?utf-8?B?aTdtckpwaWRnRVJwaW9POWVjU25yR3RNempCRVhpZHFIdmtEankyVWRCc3Ur?= =?utf-8?B?RkY2aVdZM2YzZnMxUVByZlhrY2pWdnlybGVwQUlPeGk0VENCSkdFM3poMWJT?= =?utf-8?B?ZDZqQnNwYjJpcW8wai9RNUovSGwvSHU4VDRScG1BQkNUd1FKZEx6V3pwaURy?= =?utf-8?B?OGVqc1lCanh0QkQrT3JwaHhCMGswMVplR1FFNkZhZUl6TU00bUhHOEJ0c3Er?= =?utf-8?B?dUx3dnVBZVBoN0hxL2NTNldmL2xZcThCOUw3TFQwZWFkSWJLUG84aEp6MWsv?= =?utf-8?B?b3FjeWlqa0x2VWl3UFhXbGJCOHQrZzlNL3FWaXp0RlFRTTQrSnUzaTNIbWlI?= =?utf-8?B?OFBqQis1VVVrZ0I3akd3bUU0Z1grQlN1M09pdlVWbXdtUlVaaXdyL2xaOHpT?= =?utf-8?B?TksvVW9zN3JZWjBleW0wY216MG9ZMko3RlRYUGF1TzR0QWg4UHd5bTY4TnRi?= =?utf-8?B?TlY3a0JVbWU3RnU0ZnVlN1ZYN0tUbFpGcFlzWER0cFBOeFJmZlBFQXRSZlVW?= =?utf-8?B?WTRPYk81aDlNVkpoTFpscUVjcUNJNkRIa0FPNCtkcTFLYk5ySElGZWdCa1VW?= =?utf-8?B?NU9RcEJPazB1aEg2S0FabEhRbGQrWXo5VHJPY2ZuK20vTE1xMkRBNmQwNGd1?= =?utf-8?B?aUJySDFpWHBFM1drM3IvYUpZZkx2M2V3YlpOR0I4VDZOV3FFMFR3SVQ5K3ZX?= =?utf-8?B?QVRmSFhoZjBwbEJxdjBYRHR0dmplSnlpbEUvdElKWTF4N0NUS2p2R0ZHanl1?= =?utf-8?B?NmNycllyOHNGeEN1NTgyaFJuWk5nMHdMKytPYUU5WDZiMWhNdWpxOWxmNlZp?= =?utf-8?B?RkdJSURJL1RVY2FiWmM0MnpkRi9yZjkzOHNmMk9KUFA0UnRzUlZtYjAxV3h2?= =?utf-8?B?VzVLYWxzVlkxc3E1anI2aVpGL3BTcy9HK3NOVnhVTFJwV2ozVFFGLzZUL1F1?= =?utf-8?B?NmhJUGczc2o3WDdDR1FCbUlwc1hncHBqTVVWWWhTSnNRVmppNjRTbVp5M3Vx?= =?utf-8?B?T0pQdDU0bzdZcmhBSFNYcWN3aTNpMk1CM1ZDODQwSUhXb21mcy9vcDhRYlBG?= =?utf-8?B?MnFNUW0wZHRhQUJsK3hCT2hNRWtRYlJyNWxzRFJRZm83TlBhZDR0aUtvb3ps?= =?utf-8?B?dFRlY3JDVjJPK3R1ZXZITjFtdTBxQlljV20zTUpaSWJnVWY3aXBTMTg4Z0lX?= =?utf-8?B?M0ZqZ3AzdFZUWjd4a21RSkRrSUNMdWdJU29RK3NGY2wvdzMvdVV0d3RkS3B2?= =?utf-8?B?bEdreHdZYi8yVzlQczcrcHV1RmpPRjVnalh3WGw2elo4RVlPUXlQQ1QzY09J?= =?utf-8?B?cFdLTDV0KzE3VVdwU0ZJZ25sVW52L0c1VGZ3d1YxSFlIWGFTWlc1NmdUVkJw?= =?utf-8?B?OEU2MWk1OTdvS2M0VWtsNXFOMTduamtwZkMvSndOYk8wV25LUDlFd1NnbFRa?= =?utf-8?B?QjBuUnBkaGxZYlBYUGNDRVVEeU45TmpKVkE3aGxLbWNmM2VvTlhDeU5TYUpH?= =?utf-8?B?NkE9PQ==?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a43a0fb-5c40-4b68-1273-08dae594dc78 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2022 09:54:34.5154 (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: 9tFT8OxcC1UkwyED/mykvVgTnAfvGFXHetjgbSVHGv2bFzYyn0z/fmCnC97gXHE0ZBo5v8fGb9nrsUjo26tpVjM3PvAEQsxjyRk8xxSayVI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4140 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-24_03,2022-12-23_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 bulkscore=0 mlxscore=0 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2212240084 X-Proofpoint-GUID: PogYteMFA4-0wI9L5aJFxeJOuU7pgldF X-Proofpoint-ORIG-GUID: PogYteMFA4-0wI9L5aJFxeJOuU7pgldF X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,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 List-Id: >> Am 24.12.2022 um 09:11 schrieb Alexander Monakov via Gcc-patches : >>=20 >> =EF=BB=BF >>> On Fri, 23 Dec 2022, Qing Zhao wrote: >>>=20 >>> BTW, Why sched1 is not enabled on x86 by default? >>=20 >> Register allocation is tricky on x86 due to small number of general-purp= ose >> registers, and sched1 can make it even more difficult. I think before re= gister >> pressure modeling was added, sched1 could not be enabled because then al= location >> would sometimes fail, and now there's no incentive to enable it, as it i= s not so >> important for modern x86 CPUs. Perhaps someone else has a more comprehen= sive >> answer. >>=20 >>> Another question is: As discussed in the original bug PR57067: >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D57067 The root cause of = this >>> issue related to the abnormal control flow edges (from setjmp/longjmp) = cannot >>> be represented correctly at RTL stage, shall we fix this root cause ins= tead?=20 >>=20 >> You'd need an experienced reviewer to work with you, especially on high-= level >> design decisions such as "How ABNORMAL_DISPATCHER should be represented = on RTL". >> I'm afraid it's not just a matter of applying a small patch in one place= . > > For nonlocal goto we Thread the abnormal dispatcher. Of course by > regenerating abnormal edges, not by keeping and modifying them. We > cannot re-generate the (optimal) set of abnormal edges for setjmp so > we want to preserve those edges. But as you say it=E2=80=99s a very > non-trivial change. Allright, so we have two short-term alternatives for at least remove the possibility that GCC generates wrong code for valid C when the scheduler is turned on: a) To disable sched1 in functions that call setjmp. b) To change deps_analyze_insn so instructions are not moved across function calls before register allocation (!reload_completed). Both patches fix our particular use cases and are regression free in aarch64-linux-gnu. However, there is something I don't understand: wouldn't sched2 introduce the same problem when -fsched2-use-superblocks is specified? In that case, the option a) would need to be expanded to disable sched2 as well, and b) wouldn't have effect (!after_reload)? Using -fsched2-use-superblocks doesn't trigger the problem in our use case.