Hi,
On 2020-11-02 10:28:33 -0800, Jesse Zhang wrote:
> On Thu, Oct 15, 2020 at 6:12 PM Andres Freund <andres@anarazel.de> wrote:
> > There will be a breaking API change for JIT related API in LLVM
> > 12. Mostly about making control over various aspects easier, and then
> > building on top of that providing new features (like JIT compiling in
> > the background and making it easier to share JIT compiled output between
> > processes).
> >
> > I've worked with Lang Hames to ensure that the new C API has feature
> > parity...
> >
>
> I assume you're alluding to the removal of ORC legacy (v1) API?
Yes.
> How far back was feature parity in the new API, or we could only switch starting
> with LLVM 12?
Parity is in 12 only - I had to work with Lang for a while to get to
parity. There really is no reason to switch earlier anyway.
> > The postgres changes are fairly localized, all in llvmjit.c - it's just
> > a few #ifdefs to support both LLVM 12 and before.
> >
> > The two questions I have are:
> >
> > 1) Which versions do we want to add LLVM 12 support? It'd be fairly
> > easy to backport all the way. But it's not quite a bugfix... OTOH,
> > it'd probably painful for packagers to have dependencies on different
> > versions of LLVM for different versions of postgres.
> >
> > 2) When do we want to add LLVM 12 support? PG will soon stop compiling
> > against LLVM 12, which will be released in about 6 months. I worked
> > with Lang to make most of the breaking changes in a branch (to be
> > merged in the next few days), but it's possible that there will be a
> > few smaller changes.
>
> I think this has already happened about two weeks ago when Lang's commit
> 6154c4115cd4b78d landed in LLVM master.
Yea, I just need to polish the support a bit more. Shouldn't be too
much more work (right now it has too much unnecessary duplication, need
to split some reindation out into a separate commit).
https://github.com/anarazel/postgres/commits/llvm-12
Greetings,
Andres Freund