From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 3D30D42AB1 for ; Sun, 12 Jun 2022 09:26:22 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E57568B3E3; Sun, 12 Jun 2022 12:26:20 +0300 (EEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10olkn2101.outbound.protection.outlook.com [40.92.41.101]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CD1F068A966 for ; Sun, 12 Jun 2022 12:26:13 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FBt9jRlPPVmsJmPD1pvdQzTuDW3XefBb2Gw9iVPfZJ/szkTzUmzbxRIVXVKPuK6eNni+vhR1RhJc1XSHx+9Y1hMM/okBWEI87bONYON6sHlzrC6Jb08mHc+CLOUCyFXUZd4/BbB3IdfrA/1iXmVOosCJgNqmLSgbOzUNDDwESsFIJVt6HK0dF1TgbGQGXmg2jx+JWy6MDk8bRJefDS/TMH34oEJMrfkKJdPtOzM17l+/Tbf4Ygxe2N5MbOcbD3H403ll/VdZ61z+ONi2RNmkymSDgbLdXp0Q+njo4JwCATqkhkq8n8wmd8EzKbe1WjRUAur1+/vEL3BLawpseFxUeg== 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=WOUswv8nZA5rCV+zWirSEXbrFmwXRJps55b4oMia9GI=; b=co2z02G5Nm0XxV+/SqkS746fsfnY7rdSEdDSCs1wxrbn+cnD+sYieQWe05OtOfFtj4SEb+/q++RvdEZuETpPo63P6x2lmXFsXcLxcmGAkUUv1FnvGnNq5AZu2Xf7aFacSncqnGJhwBcrVBo16zJu6JpcMmqATc5Qpx8rTq0sHTz9V9kgjk74GmuIFIYN/3bPmYRNVQCoJcKVWQLeWXiY8oZz7YMnBf9ZftHxRCmkEfUkZ0/sDSBkBFtInJPnhz53PE7W7u6E5/RNs9cbTaLQYz28aOWlaJYiAboRCWWLui+QbDn/yCao1Io1P0v+P4O+Do7/mhfs32RgFjVHgJRANg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WOUswv8nZA5rCV+zWirSEXbrFmwXRJps55b4oMia9GI=; b=XTVhjw/KWveV7tjcbhMyfZm2WAm3qYq7/A6Pw7qFREbgiUu6a0N1PrTRJqFdg2jQZ9r6HA1C5RKolzV8/rYXkvggqVQyKNxg96iQYwrpFdoM+q6mTrF+8pHwJl4cMbMZ89EF8UoWEXqO4LcWP5XhPcjPD8jroIxY/ocbf6YhLmzmw2BJpP3LrhFCX1aJsXdrjG6QYJjomMGXxKxC1/WtMfER1Y9eshxp/51z6zKP3oXHkqRvCqiE+fgUABYXiJb9l0N8wWE2Um3NPC5D8YMorFYfzfNGMumHka3FXnoxGBm1jsCGdSaNcD7JvXPGs1sWVRBG7wfRO44GuTI5VhA7DQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BN0P223MB0261.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:15e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.13; Sun, 12 Jun 2022 09:26:10 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a%9]) with mapi id 15.20.5332.019; Sun, 12 Jun 2022 09:26:10 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO Thread-Index: AQHYfh08eAL8kjh5N0u0MEs2y/Jx661LVsYwgAAlF4CAAAF+oA== Date: Sun, 12 Jun 2022 09:26:10 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [aZeMzSGmIFjCDMQbuE/nduQ4wdZwcgvJ] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bb260531-11c0-45dc-fe79-08da4c559683 x-ms-traffictypediagnostic: BN0P223MB0261:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dXfSER6//09KiI20N6rAdcNc2AVSRT80Uipr7rzeFOIscW0HrCaXnEykJhfsJ2qoRupXfwzOEhgxMoWFKdcnCag87JV/+FAxbnsW44BeAg1T0BZTgi9y7e8QoMp8Kn/W0cL80l1qTO/Z3q7pAByCbhnxH/4oX3szJsdzvNh/mSom5i4jTu1ZN9O0Q4tggrxg/QqRTGo8AgkkZAh8MvIG6W3BIO74xL9PswhhAIObfKjgQWEd1s06SM33HtlZUA45evSTOIKg3cYSGQOUeScBV/WN4X15I/cFIVNPxwYYViVBS/T3PDOYW/1eVtKlKR6kTfZ+iCFS4hHsECqzOXXISOmdrT8dDTP8DeLGOjuDKx7LzsL/lmq0czOT9MQKMfbyrhSPa/IIPvuHJvPWvql2DPCPWdXvOMsANzNlLjLlGfO67zCcGVx7izX+9jRguWz/7mP/yCNr9W/6EiefWRZ5mrPkNFNQjYiwQjl9f/fc6uO7iqdu7xnOn45iK5FaVZ6UahdsBDyZD53XoljBhE6GxLBdFAEnT8y2IlJdGwdCCCW99SYlZ4+vQvNI7BL1HuEapeyLTtIkegk/npoZCln9i4BFlHHcO9Du2PJHIIA1qvgMURqP4IepAdAmQPIssp9409GrYRJ/Ghsw4zKmogQ5ctdaGOmTB4UOLh74YAv8fy0= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dEdNNWgxNEovVUtaNGNqRGk1WURrVVg1dW50NTBzZWRIblhpS3pUODdCU2Y2?= =?utf-8?B?RjVxenhqYUs4UldNR1k3QzV5bzRSZUh6bFNpNzErb3NMOTdNMnVHU1lVR3Vh?= =?utf-8?B?QU5WUy9uMEVyRERlV3VtTjkzbHRwYmpMdStKQXFWRXdKa1gxaytNWTdLdzhn?= =?utf-8?B?T0oza0hVRVhXMWo1UmR2WTcyczdRdldZcDg0UEE2Wkl6eFZNakhDWENKTmZm?= =?utf-8?B?WmhNRXA3WmFQSHp5TkRtRU15b2dqa1Q1T3didDcrSzRLMHpDKzBuMWxLUDM4?= =?utf-8?B?WDlRWUhONDVEdTRtYjhDTHlFbzdCRmlPZk8vVngxbHJZT2NNVkJ0U1owSXhY?= =?utf-8?B?Y2lQVnhjRWMwVVZYTVQ0TkFaYTlzVVlhV25qZkRvenh3V0wyVERVMG5oblZ2?= =?utf-8?B?bHdLSWJrQ0dkN0dXelBqeDVVbjJjWGRMb2xtQ0FsdGxXM2pLNVZYM1hGd0FX?= =?utf-8?B?UitFcFpXc21LZHdHQjRTeHV5RTNVYlgxMWFuM2FhaVpMUzFuN01hTzNlWEhI?= =?utf-8?B?QTkrZ2ljZnorbFI1UjZTejZWR09iUWU3VWxFRDgxcU8weFFSRlppYVVJYVZB?= =?utf-8?B?cktYMVp0QVdGeXlScjNrUjlkcHdBR0laNnNpa1Jud3lDODJKVjF2Mzd5dzNh?= =?utf-8?B?UFkvOWJvSktWVXVxQmRJRCtPNHBkdWJnSmJtMjFJR2JFeUFBeTRKRlZWaGVQ?= =?utf-8?B?RmVuQi95ZEZLLy9ObXI2QlVyNk4yTzJkWjlMbjc2czljYmFCTlZ3K3c1blQ5?= =?utf-8?B?aVJZc2dmTFZSeldHcjUwd3FVdWlJY2x6dEFrZC8ydUxEOWw4ejBiKzJFQW9a?= =?utf-8?B?VU5kL3BvOHNMY3BpZmVEQVhHcm44YXY2UGpabDFYWkVBbjdKUms4Zkd3RlJM?= =?utf-8?B?d1k4NWVId0h3Z1dtMXZCTW8vL1cwdmliK3AyQlNTS0V3Z0RwWkVjSU53QURk?= =?utf-8?B?VS8zTXNHQU8vSkNEOVFLUlM2TGVZbkVLNWJOakhZT3NWbnZLaDJiSnFmTFFm?= =?utf-8?B?b1V2WGMzTllZd095N291cW1pZGJjbjJxUHZoOVJSMVhPWlVSbFFSeE1CbWZI?= =?utf-8?B?ZnF1aEZkWEJNR3JzSXg2QmdEbndQaW8zREFrTjRuem9VMVFXbUNFc2lUZ3FP?= =?utf-8?B?TkppamhlRDVBWTkyU0tKT2FhL1czZVZUSlcvS1RRb2h0OVJ0cTJwRmVDaHJQ?= =?utf-8?B?RWFwK1lNeU9NUVlqb0VnSkFJSkREQTVFbUhQcWlNZzZxcDEzblQwNlVPTzUr?= =?utf-8?B?L3lBcDdmTmJuQXBKU0pjbmNXM0FXTWpmVzFVRkJKQ283VGVjdlY2TklMVEVZ?= =?utf-8?B?dzZUN2RRR29oa3JBM3hVUzhISWI4MlR5TzhTNUhMZmNDRkl6bEd3S1NJcTNl?= =?utf-8?B?NzNUbHNvSVRTYUVMSkdkVmhsMkp5TUd3NDEyTkhuOG5LRFhsczE0SDVPTXNp?= =?utf-8?B?Zmw1TUZXNjdONkc1R0c3a2ZvU2oyNHpDSGlJNFp4STFFWDFVWkFpMVNuUUpq?= =?utf-8?B?SkU1SnpVTGhuREZnZnJMWVVpbWhQcFI5aHdnSGdidTVUVXJTSldWMnlVN20w?= =?utf-8?B?aFBpallqVDVmdjUzRVQrcW83S04wWnpTRVBORVdqMExVMHFrQW95VmpTY25m?= =?utf-8?B?MjQzRUt4TGZKWWdsTGt6ZWRkbytEVzVmNWZXczBsUDJ5Nm5OSmp2NTJWckhz?= =?utf-8?B?Q3BYSjNVUGtkSFkwVHpQbVM2bSs3TGQ5VW9nazVzRlJOYzhwS1duN1ozTHc2?= =?utf-8?B?TllQWEh4T0hJenlHNW9nMDJxeTRzaFBIZ0JYelZlT0pmSVptb3lZRURJR2t4?= =?utf-8?B?WDdmbDhveGtxM3VqQllpcldRSVFLNm9zYnR4ZXppWEJ5SnFkenFVSWkzYzg4?= =?utf-8?B?WUZneTQrQzAzck5SOGpNQU1zQTJyZ29hQTBvcHdUemJtMHpNbU5nSTJzMGpK?= =?utf-8?Q?miHgefWiG84=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: bb260531-11c0-45dc-fe79-08da4c559683 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2022 09:26:10.7198 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P223MB0261 Subject: Re: [FFmpeg-devel] [PATCH] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > -----Original Message----- > From: ffmpeg-devel On Behalf Of > Hendrik Leppkes > Sent: Sunday, June 12, 2022 11:09 AM > To: FFmpeg development discussions and patches devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH] all: Replace if (ARCH_FOO) checks > by #if ARCH_FOO > > On Sun, Jun 12, 2022 at 10:17 AM Soft Works > wrote: > > > > > > > > > -----Original Message----- > > > From: ffmpeg-devel On Behalf Of > > > Andreas Rheinhardt > > > Sent: Sunday, June 12, 2022 7:28 AM > > > To: ffmpeg-devel@ffmpeg.org > > > Cc: Andreas Rheinhardt > > > Subject: [FFmpeg-devel] [PATCH] all: Replace if (ARCH_FOO) checks > by > > > #if ARCH_FOO > > > > > > This is more spec-compliant because it does not rely > > > on dead-code elimination by the compiler. Especially > > > MSVC has problems with this, as can be seen in > > > https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html > > > or > > > https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html > > > > > > This commit does not eliminate every instance where we rely > > > on the dead code elimination: It only tackles branching to > > > the initialization of arch-specific dsp code, not e.g. all > > > uses of CONFIG_ and HAVE_ checks. But maybe it is already > > > enough to compile FFmpeg with MSVC with whole-programm- > optimizations > > > enabled (if one does not disable too many components). > > > > > > Signed-off-by: Andreas Rheinhardt > > > > --- > > > > LGTM. > > > > It's not really a story as simple as "poor MSVC is unable > > to perform dead-code-elimination". It is actually capable to do > that, > > but the ffmpeg code was not only requiring the compiler to > eliminate > > dead code, it actually required a compiler to ignore dead code > blocks > > even when those would contain invalid code that cannot be compiled > > at all. > > This is inaccurate. This code can compile just fine. It is linking > that fails, because the functions are not generated, which would not > be a problem if it is removed as part of DCE before the linking > stage. You are right. It was not 100% precise. Three cases that I tried mangle into a single statement: 1. Statement might not compile when macro is not defined, e.g.: if (ARCH_LOONGARCH64) ff_nlmeans_init_xxxx(dsp); would fail to compile when ARCH_LOONGARCH64 is not defined (not 1 not 0), but it doesn't fail with #if ARCH_LOONGARCH64 .... 2. Linking fails e.g. when there's not definition of the function ff_nlmeans_init_xxxx() 3. There was another case where I got a compilation (not linking) error with MSVC but not with GCC. It wasn't as simple as a syntax error. I'll post when I remember what it was. Thanks, sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".