-
Notifications
You must be signed in to change notification settings - Fork 205
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
Add support for LLVM 17 #643
Conversation
I'm pretty sure Edit: Actually, no. We use the Edit 2: Looks like we're failing to run the SLP vectorizer (or any vectorizer?) because it's not part of the pipeline built by |
I'm tracking the vectorization issue as llvm/llvm-project#67076 |
I'm disabling |
515ed25
to
0da587c
Compare
0da587c
to
0c18ee5
Compare
This rolls up the changes in #641 and then adds more on top to adapt to the removal of the legacy pass manager in LLVM 17. Overall, this seems to be working dramatically better than LLVM 15-16, so I have updated the opaque pointer version bounds to be LLVM 17-only.
Running the test suite locally (macOS x86) produces one test failure:
For once I'm actually done with this ahead of the LLVM 17 final release (above results were with rc4), so I can't merge this until the final release gets cut. But things are looking good overall.
Known issues:
compile_time_array.t
andcompile_time_array2.t
forcing those tests to be shut off in LLVM 17. A similar (but less severe) issue is present inbug372_perf.t
, but it's minor enough I left that one in. Possibly a result of the new pass manager.constantinits.t
fails on Linux: constantinits.t breaks on LLVM 17 Linux #644.