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
Local bitvector analysis: reduce number of node visits
By using a set instead of a stack as work queue we reduce the number of
visits to each node in two ways:
1) The work queue will not contain duplicate nodes.
2) When dequeuing successor nodes, back edges will be given preference
over forward ones. Once the later (in program order) node is visited,
more information is already merged into the abstract state.
On a goto function with 160822 instruction, this reduces processing time
(just the local bitvector analysis) from 1700 seconds down to 72
seconds. The number of invocations of `local_bitvector_analysist::merge`
previously was 32815499 (204 times the number of nodes), and is now
997083 (6 times the number of nodes).
0 commit comments