Liming, Christine

Could you review this patch?

Thanks,
Bob

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Bob Feng
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: [edk2-devel] [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 (#87589): https://edk2.groups.io/g/devel/message/87589
Mute This Topic: https://groups.io/mt/89796157/1768742
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [bob.c.f...@intel.com] 
-=-=-=-=-=-=




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#87752): https://edk2.groups.io/g/devel/message/87752
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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to