-
Notifications
You must be signed in to change notification settings - Fork 335
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
Move llvmlite to llvm19 #1092
base: main
Are you sure you want to change the base?
Move llvmlite to llvm19 #1092
Conversation
Add todo for future passes, simplify pass registeration in newpassmanager.py add dot printer passes Add hooks for most of the passes currently supported by legacy pm edit
Drop support for typed pointers Drop support for Legacy pass managers Update some APIs
- Delete transforms.{py|cpp} - Drop support for llvm version < 17 - Refactoring
- Fix some deprecated APIs - Disable some refprune tests, either the tests or the pass itself needs updating for llvm18
- Update few APIs
Add todo for future passes, simplify pass registeration in newpassmanager.py Add dot printer passes Add hooks for most of the passes currently supported by legacy pm Fix working of new APIs with llvm16
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
auto context = LLVMGetGlobalContext(); | ||
LLVMContextSetOpaquePointers(context, enableOpaquePointers); | ||
// Opaque pointer support dropped https://reviews.llvm.org/D139441 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you meant "Typed pointer support dropped"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, thanks for spotting! Will update :)
LLVMContextRef context = LLVMContextCreate(); | ||
LLVMContextSetOpaquePointers(context, enableOpaquePointers); | ||
// Opaque pointer support dropped https://reviews.llvm.org/D139441 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Same as above.)
Hi, I found time to try and work on getting llvmlite to build with a version of llvm that's in Debian. I took this pull request and rebased it against 0.44.0, and then collapse the branch into a single diff to apply to the a Debian 0.44.0 version of the llvmlite package. I pushed what I've manage to get done to https://github.com/detrout/llvmlite/tree/llvm19 I noticed there's a bunch of code removed this pull request in a migration from passmanager to newpassmanager, though the llvmlite HEAD branch currently has both passmanager and newpassmanager modules. I don't know if it's intended to remove passmanager or not? The merged code almost works (at least on Debian unstable on a x86 cpu with python 3.13.2 and llvm-19.1.7) it's down to two test failures.
I did try running the build under arm64 using qemu and funny story, all the tests passed.
|
I'd also managed to run the two test failures in pdb, and for the llvmlite.tests.test_binding.TestObjectFile.test_object_file I found a possibly useful thing that there was a .text segment that had no contents. Though there were other text segments like (I think) .ltext that had some contents |
Depends and contains changes introduced with #1091
List of changes in this MR
TODO: