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

LLVM’s legacy pass manager passes for sanitizers will go away #44987

Closed
MaskRay opened this issue Apr 15, 2022 · 2 comments · Fixed by #46175
Closed

LLVM’s legacy pass manager passes for sanitizers will go away #44987

MaskRay opened this issue Apr 15, 2022 · 2 comments · Fixed by #46175
Labels
compiler:llvm For issues that relate to LLVM

Comments

@MaskRay
Copy link
Contributor

MaskRay commented Apr 15, 2022

Using LLVM's legacy PM for optimization pipeline was deprecated in 13.0.0 and the relevant functionality was scheduled to be removed after 14.0.0 (got delayed). Clang dropped legacy PM support in D123609 (milestone: 15.0.0). I plan to remove instrumentation passes like gcov, PGO, and sanitizers (milestone: 15.0.0).

src/aotcompile.cpp has code like PM->add(createAddressSanitizerFunctionPass()); which needs to be ported to the new pass manager. You can see llvm-project clang/lib/CodeGen/BackendUtil.cpp for how to use the new pass manager.

LLVM's legacy PM for optimization pipeline may be completely removed in 16.0.0. You may want to migrate to the new pass manager now. llvm-project clang/lib/CodeGen/BackendUtil.cpp can serve as an example using the new pass manager.

@giordano giordano added the compiler:llvm For issues that relate to LLVM label Apr 15, 2022
@vchuravy
Copy link
Sponsor Member

Will be address by #44365

@inkydragon
Copy link
Sponsor Member

Closed by #46175

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:llvm For issues that relate to LLVM
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants