From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2097.outbound.protection.outlook.com [40.107.95.97]) by sourceware.org (Postfix) with ESMTPS id C4B293858002 for ; Tue, 15 Aug 2023 22:48:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C4B293858002 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=purdue.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=purdue.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WdiqijOYo+zOg2TLxWMhvtDL+BiE+WmpeYyIeI5qNEaKq7VlBPuKi1VK3IdPj9ZimaAP9X7jIcxskIJDfDRFbJTdTg9g1SEr9NFxDRj287oib82Y9rSWgjQFYDrqieBGod3pc+o0WMLhX3GmCCNe9Rsmwwt2ZE9l0qpmzTeyolF0gfZJkafVuj3Jbe/i3/jQFVUMu836UPT2RpLg+dXEpQ/qV8vsEB5NPsZzjlalCAWghCKQPwegKUHk/ec/3i107k+bY6oQdurQ17QoxGLvF5tv+azqzLxsq4h9HZAg/W+PShmxP388spbGHpqGJkK+mU88MfImlCO5U1tEm589fw== 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=og6fj/eA3dkiKDHzjyRcUXWs4iRHXfYE5+SF04totXo=; b=dgPfzQPkQFyrkdirJGqv8vDNqvTCwQYKKuwH1oWreVyRt9NDELQalrOP27xm6r3+B20m3GLlozWspBJ78PHy4eyfZd4DwBS2GQWSKQTkh6dk2iuTbmYOsKAKnnd/kn/dRRQJY7sZwvlhNOTbJ/0QeOdfGtVbzpB/Lm5Uj/WbMosvKK8xxsNZZhnQVXewJ2faocr5RD4O4wTFi9qzY/G7HH8hDtLfEpGYw3M87ZeDbX3fVG9NsAUb8aU6/BCs9XagpZpzvkXBaDJq8EX39L7/2fGan9POl9a8teUn54qrFSq8FYABatbjoGR4/xEBgvAzForA7KLPuqqhr8JHKQ2acg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=purdue.edu; dmarc=pass action=none header.from=purdue.edu; dkim=pass header.d=purdue.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=purdue.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=og6fj/eA3dkiKDHzjyRcUXWs4iRHXfYE5+SF04totXo=; b=UAwEDTwPHkKEJIys1rSP1T/3kNRQ6iZ6zwbF5PStkMsKXe3Yo1NvMmyAVY0ktAS1Yaoq6DG1Cve3tLThBIzlmSyu6VHqcceBsB/ocnf/VVBuwJlutlwJbXjPI71/xaG/XC9gpjx2iLjzpPiWOgxvB3kgUBtHR2yYIDjbC6+nki8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=purdue.edu; Received: from LV2PR22MB3653.namprd22.prod.outlook.com (2603:10b6:408:17a::17) by SA1PR22MB5002.namprd22.prod.outlook.com (2603:10b6:806:3a4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.19; Tue, 15 Aug 2023 22:48:02 +0000 Received: from LV2PR22MB3653.namprd22.prod.outlook.com ([fe80::b206:403b:f6e0:4539]) by LV2PR22MB3653.namprd22.prod.outlook.com ([fe80::b206:403b:f6e0:4539%4]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023 22:48:02 +0000 Message-ID: Date: Tue, 15 Aug 2023 18:47:59 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 From: Bradley Lucier Subject: Re: [PATCH] Add -Wdisabled-optimization warning for not optimizing sibling calls To: David Malcolm , Richard Biener Cc: lucier@purdue.edu, Prathamesh Kulkarni , gcc-patches@gcc.gnu.org References: <07d4723b-d449-ccd1-d3cb-c7ee80bb97a0@purdue.edu> <767a986316b6c934c29af5070cdd5dd4d3ba81e6.camel@redhat.com> <39c17c5a5d2136906e71d089407adcbb536a63d2.camel@redhat.com> Content-Language: en-US In-Reply-To: <39c17c5a5d2136906e71d089407adcbb536a63d2.camel@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH2PR07CA0044.namprd07.prod.outlook.com (2603:10b6:610:5b::18) To LV2PR22MB3653.namprd22.prod.outlook.com (2603:10b6:408:17a::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR22MB3653:EE_|SA1PR22MB5002:EE_ X-MS-Office365-Filtering-Correlation-Id: 3443321a-0439-4d3e-b10e-08db9de1ae36 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ilxWOxfZ7XXRozuAjRc9fxPCoWG+ypDC+AeXBSTh9C70VUOxCVs/VUwr8TRqo+zJANaJPZ5ZhzBqnWKRcn/BrLXTXjCFIgh1iG481lbkWq77lEf5Fn4/PzjyeSzc/MpJPQuU4V36dyGxg0krEC2wC2VlwFX7F7l2p+QKDQ/ltTKzqFdb53DUqLJUIvqVDRs/g0TtELALkss/FhuxbC4aGlONQPK/3rmxlHP8TZGeRlxXDyRowLyNG3eU1KY+lctbuIJjm+U0/jDjNxcgOQ1WHBMykAJ/VWjHvRQRrXgT6s5oQPTI5dKw/AIrhGQZQqN6KojEzrctys3x3lEviQsbCIDWccvjh6ZxihBupz5YN3rOHHI6Uw+g9wl2OcwtmcR4qI1SHcvwnVZdPIeCKjp5LlUtth5PYCzxLO6UT+Vn0JepB2vfo1597n+0aXDCIFTSaRPsLI10WWIGcGykLiyRpwxdu1jp+sjCBxjdKi/oSvp3aBmuWPHSpLJtVEY8QiMKxGu60kl5UCO/hLs8SFrM6V3CrfTJvP5AwESXU3KjFDsE4UQICoeK5Ig0ffSkZVy9MWDmiQ6MosmkTQk8h64DTpWxX64ckWJcQpjUmr2rGk21gShgnyx8gntrqoy8+SAhBsQICVbpfUcn2q8jizgSrA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR22MB3653.namprd22.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(39860400002)(136003)(366004)(376002)(451199024)(186009)(1800799009)(36756003)(31696002)(31686004)(8676002)(41300700001)(6506007)(316002)(26005)(2616005)(38100700002)(8936002)(2906002)(83380400001)(4326008)(66946007)(66476007)(786003)(6512007)(66556008)(6666004)(5660300002)(6486002)(478600001)(75432002)(110136005)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WDFDa3NxT2xFbEZVdmtTRzFhZk1IdEwwTHp1V0I5VGhMSmFxRW5Ed0FQRWhG?= =?utf-8?B?d2ZGS0VFblNBWFlzenIxNFhEamtMVk9JYWNiT2FBSHFzbnhKQXMyNUdTb2Q5?= =?utf-8?B?a3N4SjJPYmdRVVJqM3JzZXE1bTBndVF0dERsNWU2czROekVSOXdFTW9MUllW?= =?utf-8?B?Ty9qZERybDV0RVJWNkFWa3NON3VzVm1Ic3ExNFZDaG1GM1gwQ0xpRlU2bHVG?= =?utf-8?B?YTNuWEp3bktJUHdXL0krZWdJWWZSYTk0bU5ZTE5zV3ZnTnI4bkwxUFlaQWRh?= =?utf-8?B?by9rcXRTQ3c5cnNZTllXSEhjUS8zWktRcVhTbE0wNFRpSVErSDZDd21YQzRE?= =?utf-8?B?cVJ2RiswVkloNEpML0N6MGJ6SkE3bGJQRlVzczF1aVJWNVJqRitmTlR0ZzEy?= =?utf-8?B?bGQ4S1JOblV0NDBKamlBTUVoQzhlYldmYVlwVkZFbFZZM2prTTkzbDkwelZQ?= =?utf-8?B?ZnlnOHNqck93MWN6Ym1RaU85TXhOMjZCUWtxbnlYY2ZhMCt3SEoybGRxZmtR?= =?utf-8?B?czRhUTNSUGU4KzBpZm5qbUFkQ28ycmU3ei9naDRpK3FoeW1uSWJVQm1UNSs5?= =?utf-8?B?ZHVSOUE0a3MrdTEwL0FIeFRBYW44ejN0M0FuaThTMU1VTUowWGltUG5HL3lM?= =?utf-8?B?QVg4SmdBQ0szTEc2cVVoOGJtaFZHcEYvYmErU3F2bm9ld29WZGg2eFlNbDF4?= =?utf-8?B?NDZjQjhYVDUwK2xxbmNmTnZacElHT0EzZkdXdlBTRW5MWnFOcGp6ZkRIOVIz?= =?utf-8?B?dEhmSVlDMTU1dVRPU1FjcWRpRW1sWE1rdVovZHg5czdUK0x3TXFPSUlLd25n?= =?utf-8?B?YTNSS3NFY1htaEVpbWFocHBLSkwrWERubkNtS2VhMk55R2VTSkpaTVk1WGl4?= =?utf-8?B?aGs0b1pPTDVFR1ZZUkVxZmIvSVA0ZVdSd1JwbHE5UUZEWXhTVXJ0MmFwZnlL?= =?utf-8?B?c0xrc3NkN1phZDRac0IxV0hKTlZCa09pck1JZG9xSzFSbnlPbkl6MXlKb3da?= =?utf-8?B?dFFuQVYzRXNQc1A5eVRTY2xoeStBVU96VGs1NnZWaTFKWXp6M2JjS21JTndv?= =?utf-8?B?UGYvb2E3V0dCektFdDBOb1V0MUxPVUZuSGpxVWRVblh5b2ZCMEdvLzJaV1pN?= =?utf-8?B?Ym00OWJWWWtOVkFQZ2t5WjlsRkVBaGNZWlBYZjRQM0F5N2RTNEV3aEx1aGh4?= =?utf-8?B?RkZZOHRPbWx1dDNwMnA2bzZVZmxTYmZNa1oxakUrbXZRcUVNNjVuWXB1VVJT?= =?utf-8?B?MWZWcHRhOExqVUpkSlp6TkdUMmNsaElwZGp5SVN1TGQrZDVBaEdPcmVTNVVS?= =?utf-8?B?Umd0OUdod0o0TjdUWXlobzZjQkZEMWJHTUpIYXNhU0FxRVV1M0E4NGRhanRv?= =?utf-8?B?czAvaHoyeU05bVZ5Tm16blZqTVg4VUl3ZFE4SFFHbXo5WFJ3L0xLNEJiY2Zj?= =?utf-8?B?SkJvOFhER1FXUElvaUhjeVpHQU9JcDdDSkQzRWZQSGYvSko4NVhhQWRlOWc0?= =?utf-8?B?MWJWWlRUZU9ON2dBaTlPOHFEcHhwb0EzRThOM0RUUURwRTB0VWxmdGJ0bXQ3?= =?utf-8?B?N3NFeUdxdm9leWpRSWJqaG1BNmlBR0tGZHJhSVV6STk0QW9ySzloZEN1ZzN4?= =?utf-8?B?Rk1XZmtibmt2dzBIV2xHODFaa1g0MmtDbGt2TmxhVGVua0tCWjBiYWlzVkly?= =?utf-8?B?VFZJYmM5YWtHRkVyZDFqM1l2d0szQkFsNVphTzR5c1RQREp6RDJVVXdPMW1X?= =?utf-8?B?eVdTS2FIRG1kZ2F2Vk5aVytkSHh2RFNkdUQyM2V6cUNHUlZ3NHJBV2U2Y0l3?= =?utf-8?B?Z20vNzkxUkpFaXJERGVhWTk1bzZjRGlRUkh0VkJYY0lwTGhwRVViRCsxZm1N?= =?utf-8?B?bWJNZkpLMkE2L2lKQTNHNFk4UUdLMUViQmJxVit4SGtGVU5BK2FONk1oOVNr?= =?utf-8?B?WGRCclN1d2pQQkQyUHlSN2dqMHZ6UHJ1ZFByTUVBZ3lhdXFnVXhHR25SY2Yx?= =?utf-8?B?aU9YbHo2WEQ0aVVXVndXcEJuVDllVUM2Y3BCTm5xZFNvZ1haTnJ6Y3dPSThz?= =?utf-8?B?QW1hbmh5YTFkU0cvMU5ob2JXNFlMT20zcG83WW9zaFYyZ0RMTWhuaG11WnZF?= =?utf-8?Q?8hry8ORyhPCDXN2BC01yWx9p2?= X-OriginatorOrg: purdue.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 3443321a-0439-4d3e-b10e-08db9de1ae36 X-MS-Exchange-CrossTenant-AuthSource: LV2PR22MB3653.namprd22.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 22:48:02.1512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4130bd39-7c53-419c-b1e5-8758d6d63f21 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NXY1AAmp5YXAeQ7Mm9lLScAkyk5bxtihiXRqvS3t2t1/CzkJtWExrdbwfytLoOvVJclwuGo46nqALJRe2j43jA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR22MB5002 X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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: First, if this is no longer the appropriate group for this discussion, please tell me where to send it. I've been working to understand all the comments here. From them, I think: 1. It's OK to have gcc report back to the user whether each particular call in tail position is optimized when -foptimize-sibling-calls is set as a compiler option; or, to report only those calls that have not been optimized. 2. Given (1), the question is what form that information should take, and which gcc option should cause it to be expressed. From comments in this thread and the documentation for today's mainline gcc, I configured and built Gambit Scheme with ./configure CC="/pkgs/gcc-mainline/bin/gcc -fopt-info-missed" --enable-single-host thinking that info about missed optimizations would be a good place to export information about non-optimized sibling calls. This may not have been a good idea, however, as I ended up with 93367 lines about missed optimizations. Is this the right direction to proceed in? The documentation says about -fopt-info-missed One or more of the following option keywords can be used to describe a group of optimizations: 'ipa' Enable dumps from all interprocedural optimizations. 'loop' Enable dumps from all loop optimizations. 'inline' Enable dumps from all inlining optimizations. 'omp' Enable dumps from all OMP (Offloading and Multi Processing) optimizations. 'vec' Enable dumps from all vectorization optimizations. 'optall' Enable dumps from all optimizations. This is a superset of the optimization groups listed above. I'd like to limit the number of missed optimization warnings, but I don't know where sibling call optimization would fit into these categories. Brad