iAI icon indicating copy to clipboard operation
iAI copied to clipboard

Create thread safe version of llvm::CFLAndersAA and llvm::CFLSteensAA

Open blipper opened this issue 3 years ago • 1 comments

Is your feature request related to a problem? Please describe. For realistic size program analysis the AliasAnalysis passes are often the slowest part. Unfortunately neither the llvm::CFLAndersAA and llvm::CFLSteensAA are thread safe which limits opporuntities to speed this up.

Describe the solution you'd like Thread safe versions. These will probably have to be stored locally since LLVM doesn't appear to make any thread safe guarantees on its side.

I am not asking to implement the parallel analysis per function/Run call. Just to allow safe concurrent runs of a different functions.

I'm assuming that the problem is ammenable to parallelization. My intuition says it is but...

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Note that we may need a way to lock access to the DataLayout as these are updated in the code and are also not thread safe.

blipper avatar Apr 17 '21 18:04 blipper

LLVM removed CFLAndersAA and CFLSteensAA for LLVM15, so we will get rid of them as well (#610). Theremaining BasicAA and TBAA should be easier to get thread-safe

fabianbs96 avatar Apr 16 '23 12:04 fabianbs96