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

svfargument->argvalvar #1644

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 3 commits into from
Jan 31, 2025
Merged

svfargument->argvalvar #1644

merged 3 commits into from
Jan 31, 2025

Conversation

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

No description provided.

@@ -230,6 +230,8 @@ void SVFIRBuilder::initialiseNodes()
iter->second, argval->getArgNo(), icfgNode,
llvmModuleSet()->getCallGraphNode(argval->getParent()),iter->first->getType(),
LLVMUtil::isArgOfUncalledFunction(argval));
if (!argval->hasName())
pag->getGNode(iter->second)->setName(std::to_string(argval->getArgNo()));
Copy link
Collaborator

Choose a reason for hiding this comment

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

What is our previous way for setname of an argument?>

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Name and sourceloc are set in the same way as other vars:

svfBaseNode->setName(val->getName().str());

Copy link
Collaborator

Choose a reason for hiding this comment

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

what is the difference between val->getName().str() and argval->getArgNo()? We shall use the former one?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we use argval->getArgNo() only when the arg does not have name and val->getName().str() otherwise.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is consistent with prior design:

if (!arg.hasName())
svfarg->setName(std::to_string(arg.getArgNo()));

Copy link
Collaborator

Choose a reason for hiding this comment

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

what is the string value of the getName for a typical argval? Is that "arg no."? We need to align the format.

Copy link
codecov bot commented Jan 31, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.84%. Comparing base (16de798) to head (934a97b).
Report is 2 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #1644   +/-   ##
=======================================
  Coverage   63.83%   63.84%           
=======================================
  Files         246      246           
  Lines       25988    25995    +7     
  Branches     4505     4508    +3     
=======================================
+ Hits        16589    16596    +7     
  Misses       9399     9399           
Files with missing lines Coverage Δ
svf-llvm/lib/LLVMModule.cpp 78.90% <100.00%> (+0.05%) ⬆️
svf-llvm/lib/SVFIRBuilder.cpp 83.74% <100.00%> (+0.20%) ⬆️
svf-llvm/lib/SVFIRExtAPI.cpp 85.71% <100.00%> (ø)
svf/include/SVFIR/SVFIR.h 89.58% <100.00%> (ø)
svf/include/SVFIR/SVFValue.h 89.38% <ø> (ø)
svf/include/SVFIR/SVFVariables.h 65.42% <100.00%> (ø)
svf/lib/SVFIR/SVFValue.cpp 82.71% <100.00%> (-0.42%) ⬇️
svf/lib/SVFIR/SVFVariables.cpp 47.05% <100.00%> (ø)

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

--- log/nginx.log 2025-01-31 15:14:28.567766333 +1100
+++ log/nginx-xiao.log 2025-01-31 15:14:24.199809216 +1100
@@ -39,9 +39,9 @@
VarArrayObj 153
VarStructObj 630
----------------Time and memory stats--------------------
-LLVMIRTime 1.741
-SVFIRTime 1.218
-SymbolTableTime 0.201
+LLVMIRTime 1.742
+SVFIRTime 1.22
+SymbolTableTime 0.202
#######################################################

PTACallGraph Stats (Andersen analysis)******
@@ -68,11 +68,11 @@
CollapseTime 0
CopyGepTime 0
LoadStoreTime 0
-MemoryUsageVmrss 2.3247e+06
-MemoryUsageVmsize 2.3244e+06
+MemoryUsageVmrss 2.32449e+06
+MemoryUsageVmsize 2.32436e+06
SCCDetectTime 0
SCCMergeTime 0
-TotalTime 122.686
+TotalTime 122.946
UpdateCGTime 0
----------------Numbers stats----------------------------
AddrProcessed 5909
@@ -144,11 +144,11 @@
CollapseTime 0
CopyGepTime 0
LoadStoreTime 0
-MemoryUsageVmrss 2.32927e+06
+MemoryUsageVmrss 2.32922e+06
MemoryUsageVmsize 2.32911e+06
SCCDetectTime 0
SCCMergeTime 0
-TotalTime 136.733
+TotalTime 136.954
UpdateCGTime 0
----------------Numbers stats----------------------------
AddrProcessed 5909
@@ -210,9 +210,9 @@
LookupComplements 336293
PreemptiveComplements 6541
TotalIntersections 1796736
-PropertyIntersections 1782983
+PropertyIntersections 1783137
UniqueIntersections 34
-LookupIntersections 616
+LookupIntersections 462
PreemptiveIntersections 13103
#######################################################

@@ -220,11 +220,11 @@
################ (program : nginx.bc)###############
----------------Time and memory stats--------------------
AverageRegSize 39.1348
-GenMUCHITime 1.15
-GenRegionTime 97.277
-InsertPHITime 0.403
-SSARenameTime 0.052
-TotalMSSATime 98.882
+GenMUCHITime 1.127
+GenRegionTime 93.925
+InsertPHITime 0.381
+SSARenameTime 0.031
+TotalMSSATime 95.468
----------------Numbers stats----------------------------
BBHasMSSAPhi 4056
CSChiNode 22213
@@ -247,13 +247,13 @@
SVFG Statistics******
################ (program : nginx.bc)###############
----------------Time and memory stats--------------------
-ATNodeTime 0.224
+ATNodeTime 0.218
AvgWeight 198.378
ConnDirEdgeTime 0
-ConnIndEdgeTime 1.363
+ConnIndEdgeTime 1.336
OptTime 0
TLNodeTime 0
-TotalTime 1.587
+TotalTime 1.554
----------------Numbers stats----------------------------
ActualIn 30142
ActualOut 22213
@@ -315,20 +315,20 @@
GepTime 0
IndirectPropaTime 0
LoadTime 0
-MemoryUsageVmrss 4.83748e+06
-MemoryUsageVmsize 4.88689e+06
+MemoryUsageVmrss 4.89398e+06
+MemoryUsageVmsize 4.94288e+06
PhiTime 0
-PrelabelingTime 0.167
+PrelabelingTime 0.164
ProcessTime 0
PropagationTime 0
SCCTime 0
-SolveTime 857.199
+SolveTime 855.798
StoreTime 0
Strong/WeakUpdTime 0
-TotalTime 932.108
+TotalTime 929.92
UpdateCGTime 0
VersionPropTime 0
-meldLabelingTime 72.042
+meldLabelingTime 71.386
----------------Numbers stats----------------------------
CopysNum 80
DummyFieldPtrs 1510
@@ -348,11 +348,11 @@
ProcessedAddr 23636
ProcessedCopy 320
ProcessedFRet 0
-ProcessedGep 866346
-ProcessedLoad 1177353
+ProcessedGep 942276
+ProcessedLoad 1221709
ProcessedMSSANode 344692
-ProcessedPhi 73601
-ProcessedStore 635577
+ProcessedPhi 79067
+ProcessedStore 664812
SolveIterations 4
StoresNum 14929
StrongUpdates 282
@@ -367,12 +367,12 @@

Persistent Points-To Cache Statistics: flow-sensitive analysis bitvector
################ (program : nginx.bc)###############
-UniquePointsToSets 34312
-TotalUnions 1934347584
-PropertyUnions 1246032149
-UniqueUnions 127323
-LookupUnions 688024920
-PreemptiveUnions 163192
+UniquePointsToSets 37571
+TotalUnions 2058381205
+PropertyUnions 1273632373
+UniqueUnions 138457
+LookupUnions 784432653
+PreemptiveUnions 177722
TotalComplements 0
PropertyComplements 0
UniqueComplements 0

@yuleisui yuleisui merged commit 0dfd315 into SVF-tools:master Jan 31, 2025
3 checks passed
@jumormt jumormt deleted the 1.31 branch January 31, 2025 06:58
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