phasar
phasar copied to clipboard
Parallelize LLVMPointsToSet
Is your feature request related to a problem? Please describe. For programs with large numbers of variables and functions O(thouands) LLVMPointsToSet takes O(minutes) even with CDLSheen.
Describe the solution you'd like Parallelize this using the cores on the machine! It seems like it is somewhat possible even if only to call AA.alias() in parallel - which takes most of the time?
Describe alternatives you've considered Dunno?
Metrics for the output
00:00:13.734705 - [INFO] Preprocess module: /tmp/aes_ctr_boringssl_test.bc 00:00:13.735430 - [INFO] Running ValueAnnotationPass 00:00:21.333130 - [INFO] Running GeneralStatisticsAnalysis 00:00:22.906208 - [INFO] GeneralStatisticsAnalysis summary for module: '/tmp/aes_ctr_boringssl_test.bc' 00:00:22.906314 - [INFO] Instructions : 2142062 00:00:22.906344 - [INFO] Allocated Types : 1012 00:00:22.906393 - [INFO] Allocation Sites : 21274 00:00:22.906425 - [INFO] Basic Blocks : 212656 00:00:22.906451 - [INFO] Calls Sites : 1039358 00:00:22.906493 - [INFO] Functions : 16581 00:00:22.906518 - [INFO] Globals : 20123 00:00:22.906541 - [INFO] Global Pointer : 20123 00:00:22.906564 - [INFO] Memory Intrinsics : 10438 00:00:22.906588 - [INFO] Store Instructions : 80218
Adding draft implementation in #309 and #310
This will likely be dependent on #319