8000 move symboltableinfo to irgraph by jumormt · Pull Request #1642 · SVF-tools/SVF · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

move symboltableinfo to irgraph #1642

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jan 29, 2025
Merged

move symboltableinfo to irgraph #1642

merged 5 commits into from
Jan 29, 2025

Conversation

jumormt
Copy link
Contributor
@jumormt jumormt commented Jan 28, 2025

No description provided.

@jumormt
Copy link
Contributor Author
jumormt commented Jan 28, 2025

--- log/nginx.log 2025-01-29 09:55:45.714826594 +1100
+++ log/nginx-xiao.log 2025-01-29 09:54:57.819299608 +1100
@@ -39,9 +39,9 @@
VarArrayObj 153
VarStructObj 630
----------------Time and memory stats--------------------
-LLVMIRTime 1.765
-SVFIRTime 1.237
-SymbolTableTime 0.204
+LLVMIRTime 1.552
+SVFIRTime 1.126
+SymbolTableTime 0.19
#######################################################

PTACallGraph Stats (Andersen analysis)******
@@ -68,11 +68,11 @@
CollapseTime 0
CopyGepTime 0
LoadStoreTime 0
-MemoryUsageVmrss 2.32461e+06
-MemoryUsageVmsize 2.3244e+06
+MemoryUsageVmrss 2.32452e+06
+MemoryUsageVmsize 2.32437e+06
SCCDetectTime 0
SCCMergeTime 0
-TotalTime 122.372
+TotalTime 121.121
UpdateCGTime 0
----------------Numbers stats----------------------------
AddrProcessed 5909
@@ -144,11 +144,11 @@
CollapseTime 0
CopyGepTime 0
LoadStoreTime 0
-MemoryUsageVmrss 2.3293e+06
-MemoryUsageVmsize 2.32911e+06
+MemoryUsageVmrss 2.32927e+06
+MemoryUsageVmsize 2.32913e+06
SCCDetectTime 0
SCCMergeTime 0
-TotalTime 136.488
+TotalTime 135.109
UpdateCGTime 0
----------------Numbers stats----------------------------
AddrProcessed 5909
@@ -210,9 +210,9 @@
LookupComplements 336293
PreemptiveComplements 6541
TotalIntersections 1796736
-PropertyIntersections 1783089
+PropertyIntersections 1783099
UniqueIntersections 34
-LookupIntersections 510
+LookupIntersections 500
PreemptiveIntersections 13103
#######################################################

@@ -220,11 +220,11 @@
################ (program : nginx.bc)###############
----------------Time and memory stats--------------------
AverageRegSize 39.1348
-GenMUCHITime 1.102
-GenRegionTime 92.435
-InsertPHITime 0.388
-SSARenameTime 0.034
-TotalMSSATime 93.961
+GenMUCHITime 1.148
+GenRegionTime 93.879
+InsertPHITime 0.375
+SSARenameTime 0.043
+TotalMSSATime 95.448
----------------Numbers stats----------------------------
BBHasMSSAPhi 4056
CSChiNode 22213
@@ -247,13 +247,13 @@
SVFG Statistics******
################ (program : nginx.bc)###############
----------------Time and memory stats--------------------
-ATNodeTime 0.221
+ATNodeTime 0.217
AvgWeight 198.378
ConnDirEdgeTime 0
-ConnIndEdgeTime 1.354
+ConnIndEdgeTime 1.35
OptTime 0
TLNodeTime 0
-TotalTime 1.575
+TotalTime 1.567
----------------Numbers stats----------------------------
ActualIn 30142
ActualOut 22213
@@ -315,20 +315,20 @@
GepTime 0
IndirectPropaTime 0
LoadTime 0
-MemoryUsageVmrss 4.83822e+06
-MemoryUsageVmsize 4.88674e+06
+MemoryUsageVmrss 4.85377e+06
+MemoryUsageVmsize 4.89093e+06
PhiTime 0
PrelabelingTime 0.168
ProcessTime 0
PropagationTime 0
SCCTime 0
-SolveTime 853.044
+SolveTime 806.016
StoreTime 0
Strong/WeakUpdTime 0
-TotalTime 925.255
+TotalTime 877.732
UpdateCGTime 0
VersionPropTime 0
-meldLabelingTime 69.337
+meldLabelingTime 68.874
----------------Numbers stats----------------------------
CopysNum 80
DummyFieldPtrs 1510
@@ -348,11 +348,11 @@
ProcessedAddr 23636
ProcessedCopy 320
ProcessedFRet 0
-ProcessedGep 863786
-ProcessedLoad 1170031
+ProcessedGep 872964
+ProcessedLoad 1183025
ProcessedMSSANode 344692
-ProcessedPhi 73472
-ProcessedStore 631511
+ProcessedPhi 73643
+ProcessedStore 637661
SolveIterations 4
StoresNum 14929
StrongUpdates 282
@@ -367,12 +367,12 @@

Persistent Points-To Cache Statistics: flow-sensitive analysis bitvector
################ (program : nginx.bc)###############
-UniquePointsToSets 34282
-TotalUnions 1925761364
-PropertyUnions 1235863229
-UniqueUnions 127138
-LookupUnions 689608029
-PreemptiveUnions 162968
+UniquePointsToSets 34434
+TotalUnions 1946382178
+PropertyUnions 1252924730
+UniqueUnions 128123
+LookupUnions 693165184
+PreemptiveUnions 164141
TotalComplements 0
PropertyComplements 0
UniqueComplements 0

return BlkPtr;
}

inline SymID nullPtrSymID() const
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change SymID to NodeID


/// Get SVFIR Node according to LLVM value
///getNode - Return the node corresponding to the specified pointer.
NodeID getValueNode(const SVFValue* V);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will remove SVFValue later?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

@yuleisui
Copy link
Collaborator

Currently the header files are too large. We could improve it by moving some implementations from header to cpp in this pull request

Copy link
codecov bot commented Jan 28, 2025

Codecov Report

Attention: Patch coverage is 72.00000% with 77 lines in your changes missing coverage. Please review.

Project coverage is 63.82%. Comparing base (e63973d) to head (c7855d1).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
svf/lib/Graphs/IRGraph.cpp 53.60% 58 Missing ⚠️
svf-llvm/lib/SVFIRBuilder.cpp 83.78% 6 Missing ⚠️
svf/include/SVFIR/ObjTypeInfo.h 77.27% 5 Missing ⚠️
svf-llvm/lib/DCHG.cpp 0.00% 1 Missing ⚠️
svf-llvm/lib/SVFIRExtAPI.cpp 87.50% 1 Missing ⚠️
svf-llvm/lib/SymbolTableBuilder.cpp 96.96% 1 Missing ⚠️
svf/include/Graphs/IRGraph.h 93.75% 1 Missing ⚠️
svf/include/SVFIR/SVFIR.h 85.71% 1 Missing ⚠️
svf/lib/MemoryModel/PointerAnalysis.cpp 0.00% 1 Missing ⚠️
svf/lib/SVFIR/PAGBuilderFromFile.cpp 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1642      +/-   ##
==========================================
- Coverage   63.82%   63.82%   -0.01%     
==========================================
  Files         247      246       -1     
  Lines       26014    25980      -34     
  Branches     4500     4501       +1     
==========================================
- Hits        16604    16581      -23     
+ Misses       9410     9399      -11     
Files with missing lines Coverage Δ
svf-llvm/include/SVF-LLVM/LLVMModule.h 98.48% <ø> (ø)
svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h 100.00% <100.00%> (ø)
svf-llvm/lib/CHGBuilder.cpp 84.17% <100.00%> (ø)
svf-llvm/lib/LLVMModule.cpp 81.06% <100.00%> (ø)
svf-llvm/lib/LLVMUtil.cpp 70.98% <ø> (ø)
svf/include/MemoryModel/AccessPath.h 83.33% <ø> (ø)
svf/include/SVFIR/SVFVariables.h 65.42% <ø> (-0.37%) ⬇️
svf/lib/AE/Core/AbstractState.cpp 67.36% <100.00%> (ø)
svf/lib/AE/Svfexe/AbstractInterpretation.cpp 85.49% <100.00%> (ø)
svf/lib/MemoryModel/AccessPath.cpp 52.74% <100.00%> (ø)
... and 15 more

... and 2 files with indirect coverage changes

@yuleisui
Copy link
Collaborator

Currently the header files are too large. We could improve it by moving some implementations from header to cpp in this pull request

Once the header files are shortened for PAG and IRGraph and their related classes, I will merge it

@yuleisui yuleisui merged commit dd38ca3 into SVF-tools:master Jan 29, 2025
5 checks passed
@jumormt jumormt deleted the 1.27.2 branch January 29, 2025 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0