From nobody Tue May 14 19:23:38 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+87589+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+87589+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1647346637; cv=none; d=zohomail.com; s=zohoarc; b=hGW9MmDcm8A07r7pt39x4UySJr7Q+tCHt5WuQ6pjhCG/IcUIEV8+pQaH5CaR3oiYm3PUZAlnn9BFxJy7wfruFl2xq9Hvniq5zXhLY3Y+7MUKq1AXFUS0XgNNnoPRfnK5SWE/kvgzaHSSLsgLKXcCKuejWViXp2Cvon5k1GR9bfk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647346637; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=noFk0n1Fha/FdB7mV3JD0247qb2BWFr4AsRyBENOONI=; b=SJBYm0CNapzUZG31ZIKTXHPogm9WsIsEKSvCzfrY+GlX4Mzw1wZLZLWCBUVRstsKm9pAAvi3RdT1AxW3BJIGINbB7G8ezS6EFQ/XIEnOspNhvMP0lCZ/ZukUgTFJncGHVquZ1D26Zks2+KotlvLTuuWoCNhxSQ4jEw1BBvt77z8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+87589+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1647346637799799.4098372708322; Tue, 15 Mar 2022 05:17:17 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id brQyYY1788612xaQrvo6Xb6j; Tue, 15 Mar 2022 05:17:17 -0700 X-Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.9895.1647346635933792811 for ; Tue, 15 Mar 2022 05:17:16 -0700 X-IronPort-AV: E=McAfee;i="6200,9189,10286"; a="256472992" X-IronPort-AV: E=Sophos;i="5.90,183,1643702400"; d="scan'208";a="256472992" X-Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Mar 2022 05:17:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,183,1643702400"; d="scan'208";a="714134977" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.59]) by orsmga005.jf.intel.com with ESMTP; 15 Mar 2022 05:17:01 -0700 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Yuwei Chen Subject: [edk2-devel] [Patch] BaseTools: Remove the redundant __FLEXIBLE_SIZE from PcdValueInit.c Date: Tue, 15 Mar 2022 20:16:54 +0800 Message-Id: <20220315121654.754-1-bob.c.feng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,bob.c.feng@intel.com X-Gm-Message-State: cvkXXABXUyoCHP33n46lsmrCx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1647346637; bh=Scatnz/35z8erBl9DKmy6Bg7EpuolafhZctOHOIYDtY=; h=Cc:Date:From:Reply-To:Subject:To; b=igaHcPeY/ksangeSs9qGP/7VhFkUNuncGo2kEIyUkE66iM0vUnOo2wsyTIoGVrajofg 2jgGE4zB4U5mbKm/oCyZn1ik2iMWYWu6MMTqpqDCQVdaT3r3iS50SqtkDcCMWwSyyAreC 7VUZ3j9F5gRTpcSLEkv+rnpyXD7pP8YLfwE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1647346638561100001 Content-Type: text/plain; charset="utf-8" For the multiple SKU cases, basetools generates multiple redundant __FLEXIBLE_SIZE statement that is from the same line in dsc file. This behavior causes the generated PcdValueInit.c file to have huge size, and the compilation time is very long. This patch is going to fix this issue. Signed-off-by: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Reviewed-by: Yuwei Chen --- BaseTools/Source/Python/Workspace/DscBuildData.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/= Source/Python/Workspace/DscBuildData.py index d29b9bf13d..fc1e773417 100644 --- a/BaseTools/Source/Python/Workspace/DscBuildData.py +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py @@ -1874,10 +1874,11 @@ class DscBuildData(PlatformBuildClassObject): FieldName =3D FieldName.split(']', 1)[1] FieldName =3D NewFieldName + FieldName while '[' in FieldName and not Pcd.IsArray(): FieldName =3D FieldName.rsplit('[', 1)[0] CApp =3D CApp + ' __FLEXIBLE_SIZE(*Size, %s, %s, = %d); // From %s Line %d Value %s\n' % (Pcd.DatumType, FieldName.strip("."),= Array_Index + 1, FieldList[FieldName_ori][1], FieldList[FieldName_ori][2],= FieldList[FieldName_ori][0]) + flexisbale_size_statement_cache =3D set() for skuname in Pcd.SkuOverrideValues: if skuname =3D=3D TAB_COMMON: continue for defaultstorenameitem in Pcd.SkuOverrideValues[skuname]: CApp =3D CApp + "// SkuName: %s, DefaultStoreName: %s \n"= % (skuname, defaultstorenameitem) @@ -1886,10 +1887,14 @@ class DscBuildData(PlatformBuildClassObject): ActualCap.append(index) for FieldList in [Pcd.SkuOverrideValues[skuname][defau= ltstorenameitem][index]]: if not FieldList: continue for FieldName in FieldList: + fieldinfo =3D tuple(FieldList[FieldName]) + if fieldinfo in flexisbale_size_statement_cach= e: + continue + flexisbale_size_statement_cache.add(fieldinfo) FieldName =3D "." + FieldName IsArray =3D _IsFieldValueAnArray(FieldList[Fie= ldName.strip(".")][0]) if IsArray and not (FieldList[FieldName.strip(= ".")][0].startswith('{GUID') and FieldList[FieldName.strip(".")][0].endswit= h('}')): try: Value =3D ValueExpressionEx(FieldList[= FieldName.strip(".")][0], TAB_VOID, self._GuidDict)(True) --=20 2.29.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87589): https://edk2.groups.io/g/devel/message/87589 Mute This Topic: https://groups.io/mt/89796157/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-