This patch reduces compilation time , it looks good to me. Reviewed-by: Yuwei Chen<yuwei.c...@intel.com>
> -----Original Message----- > From: Feng, Bob C <bob.c.f...@intel.com> > Sent: Tuesday, March 15, 2022 8:17 PM > To: devel@edk2.groups.io > Cc: Gao, Liming <gaolim...@byosoft.com.cn>; Chen, Christine > <yuwei.c...@intel.com> > Subject: [Patch] BaseTools: Remove the redundant __FLEXIBLE_SIZE from > PcdValueInit.c > > 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 <bob.c.f...@intel.com>Cc: Liming Gao > <gaolim...@byosoft.com.cn>Cc: Yuwei Chen <yuwei.c...@intel.com> > --- > 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 = FieldName.split(']', 1)[1] > FieldName = > NewFieldName + FieldName while '[' in FieldName and not > Pcd.IsArray(): FieldName = FieldName.rsplit('[', 1)[0] > CApp = 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 = set() > for skuname in Pcd.SkuOverrideValues: if skuname == TAB_COMMON: > continue for defaultstorenameitem in > Pcd.SkuOverrideValues[skuname]: CApp = CApp + "// SkuName: %s, > DefaultStoreName: %s \n" % (skuname, defaultstorenameitem)@@ -1886,10 > +1887,14 @@ class DscBuildData(PlatformBuildClassObject): > ActualCap.append(index) for > FieldList in > [Pcd.SkuOverrideValues[skuname][defaultstorenameitem][index]]: > if not FieldList: continue > for FieldName in > FieldList:+ fieldinfo = > tuple(FieldList[FieldName])+ > if fieldinfo in flexisbale_size_statement_cache:+ > continue+ > flexisbale_size_statement_cache.add(fieldinfo) > FieldName = > "." + FieldName IsArray = > _IsFieldValueAnArray(FieldList[FieldName.strip(".")][0]) > if > IsArray and not (FieldList[FieldName.strip(".")][0].startswith('{GUID') and > FieldList[FieldName.strip(".")][0].endswith('}')): > try: > Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, > self._GuidDict)(True)-- > 2.29.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87774): https://edk2.groups.io/g/devel/message/87774 Mute This Topic: https://groups.io/mt/89796157/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-