-
Notifications
You must be signed in to change notification settings - Fork 436
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
Refactor pta #1552
Refactor pta #1552
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1552 +/- ##
==========================================
+ Coverage 62.67% 62.88% +0.21%
==========================================
Files 245 245
Lines 25707 25687 -20
Branches 4502 4491 -11
==========================================
+ Hits 16111 16153 +42
+ Misses 9596 9534 -62
|
svf/lib/WPA/Andersen.cpp
Outdated
* callsites is candidate indirect callsites need to be analyzed based on points-to results | ||
* newEdges is the new indirect call edges discovered | ||
*/ | ||
void AndersenBase::onTheFlyThreadCallGraphSolve(const CallSiteToFunPtrMap& callsites, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we move this to PointerAnalysis?
svf/include/Graphs/ThreadCallGraph.h
Outdated
@@ -407,6 +416,8 @@ class ThreadCallGraph: public CallGraph | |||
CallInstToForkEdgesMap callinstToThreadForkEdgesMap; ///< Map a call instruction to its corresponding fork edges | |||
CallInstToJoinEdgesMap callinstToThreadJoinEdgesMap; ///< Map a call instruction to its corresponding join edges | |||
CallInstToParForEdgesMap callinstToHareParForEdgesMap; ///< Map a call instruction to its corresponding hare_parallel_for edges | |||
|
|||
CallEdgeMap indirectForkMap; ///< Indirect call map |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need this? or we could use existing maps?
svf/include/Graphs/ThreadCallGraph.h
Outdated
@@ -250,6 +251,14 @@ class ThreadCallGraph: public CallGraph | |||
} | |||
//@} | |||
|
|||
/// Get callees from an indirect callsite | |||
///@{ | |||
inline CallEdgeMap& getIndForkMap() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove this map.
Move updateCallGraph etc. to AndersenBase