LLVM C-bindings for New Pass Manager

Hi, I’m looking into moving llvmlite to new pass manager but I’m not very sure where to start. Is there any public codebase using new pass manager bindings introduced in D102136 or custom wrappers that I can take inspiration from?

Many thanks!

Hi,

I’ve been in contact with the numba/llvmlite team (Llvmlite upgrade cadence - llvmlite - Numba Discussion) and am in the middle of upgrading llvmlite to llvm 17.x. Currently I’m using the C++ bindings as the C bindings for NPM doesn’t have a great correspondence to the existing usage.

Curious about your use case and timeline if you wouldn’t mind sharing.

Thanks,
Modi

Moving discussion to Numba thread

Edit: Nvm I wasn’t able to post there.

Hi,

I’m looking to systematically upgrade llvm version from 14 to all the way upto 19 (if possible). There’s no well defined timeline but I’m actively working on it with first version upgrade up for review. But I think there’s duplication of effort and it’s worth discussing over call.

Thanks,
Yashwant

cc @gmarkall

Oh I see, didn’t make the connection that you made the upgrade to 15 (I helped to review that :D). I’ve been in talks with @gmarkall and AFAIK the current plan is I’m doing the lifting on getting to llvm 17.x with the main pieces being upgrading to the new pass manager and opaque pointers.