Skip to content
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

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

Open
blipper opened this issue Apr 17, 2021 · 1 comment
Open
Labels
extensive Bigger piece of work external contribution appreciated A good issue for contribution outside of the SSE group

Comments

@blipper
Copy link
Contributor

blipper commented Apr 17, 2021

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.

@MMory MMory added the extensive Bigger piece of work label May 6, 2022
@MMory MMory added the external contribution appreciated A good issue for contribution outside of the SSE group label Dec 1, 2022
@fabianbs96
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
extensive Bigger piece of work external contribution appreciated A good issue for contribution outside of the SSE group
Projects
None yet
Development

No branches or pull requests

3 participants