You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SimpleMonotonicSolver in MonotonicSolver.scala is currently doing several recursive traversals of each graph and returning from a node on the second or greater pass when its value does not change. This could potentially be less efficient than a worklist approach, and could stop short of the true fix point if there are longer chains of dependencies.
Investigate using a worklist algorithm, but also check how to ensure that every node in a procedure is visited at least once.
The text was updated successfully, but these errors were encountered:
Reasons behind the monotonic solver:
Context switching: Because the VSA analysis uses stack context switching, it relies on the order of function entry/exit nodes. Therefore, solver needs to maintain a monotonic approach in traversing the CFG as opposed to all CFG nodes being added.
What's the status of this? I think a suitable approach to this would be to port over the WorklistWithReachability (I think that's what it's called) from TIP?
SimpleMonotonicSolver in MonotonicSolver.scala is currently doing several recursive traversals of each graph and returning from a node on the second or greater pass when its value does not change. This could potentially be less efficient than a worklist approach, and could stop short of the true fix point if there are longer chains of dependencies.
Investigate using a worklist algorithm, but also check how to ensure that every node in a procedure is visited at least once.
The text was updated successfully, but these errors were encountered: