From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.4338.1570821722104360437 for ; Fri, 11 Oct 2019 12:22:02 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jordan.l.justen@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Oct 2019 12:22:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,285,1566889200"; d="scan'208";a="184853388" Received: from nbacon-mobl1.amr.corp.intel.com (HELO localhost) ([10.251.148.150]) by orsmga007.jf.intel.com with ESMTP; 11 Oct 2019 12:22:01 -0700 MIME-Version: 1.0 In-Reply-To: <652367a4-4ebc-ae98-1c6c-d3feb04d1463@redhat.com> References: <1569570395-11240-1-git-send-email-liming.gao@intel.com> <1569570395-11240-6-git-send-email-liming.gao@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E5124C6@SHSMSX104.ccr.corp.intel.com> <39dad92d-917a-c6a4-05ff-8e32afd05533@redhat.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E515758@SHSMSX104.ccr.corp.intel.com> <652367a4-4ebc-ae98-1c6c-d3feb04d1463@redhat.com> From: "Jordan Justen" To: "afish@apple.com" , Laszlo Ersek , devel@edk2.groups.io, liming.gao@intel.com Subject: Re: [edk2-devel] [Patch 05/12] MdePkg BaseIoLibIntrinsic: Remove __inline__ attribute for IO functions Message-ID: <157082172054.23619.12723457678761790595@jljusten-skl> User-Agent: alot/0.8 Date: Fri, 11 Oct 2019 12:22:00 -0700 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On 2019-10-10 09:32:19, Laszlo Ersek wrote: > Hi Liming, Andrew, >=20 > On 10/10/19 14:32, Liming Gao wrote: > > Laszlo: > >=20 > >> -----Original Message----- > >> From: Laszlo Ersek > >> Sent: Wednesday, October 9, 2019 4:22 AM > >> To: Gao, Liming ; devel@edk2.groups.io; afish@ap= ple.com > >> Subject: Re: [edk2-devel] [Patch 05/12] MdePkg BaseIoLibIntrinsic: Rem= ove __inline__ attribute for IO functions > >> > >> On 10/08/19 16:47, Gao, Liming wrote: > >> > >>> [Liming] I verify GCC5 tool chain. I will verify GCC48/GCC49 and > >>> XCODE5. > >>> > >>> I don=E2=80=99t know the specific reason about __inline__. If the= re is no > >>> impact on > >>> > >>> other GCC tool chain, I prefer to remove them. > >> > >>> [Liming] This seems the remaining clean up task. So, I prefer to remo= ve > >>> __inline__ if no impact on GCC tool chain. > >> > >> OK. Given your testing with GCC48, I'm fine. > >> > > With this patch set, I verify GCC48/GCC49/GCC5 on Ovmf3264. They can al= l boot to Shell.=20 > > Are they enough? >=20 > Would you guys agree with the following commit message, on this patch? >=20 > """ > __inline__ has no discernible effect with the GCC48 / GCC49 / GCC5 > toolchains, but it breaks the build with CLANG9. >=20 > Remove __inline__. > """ Would it be more accurate to say it didn't have a functional difference? Did we rule out that it might have made a difference in code gen? I guess I wouldn't be surprised if the older non-LTO toolchains didn't make use of it anyway. So, maybe there is no difference in code gen. With LTO the linker is hopefully smarter about auto-inlining anyhow. -Jordan