Re: broken JIT support on Fedora 40
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Dmitry Dolgov <9erthalion6@gmail.com>,
Daniel Gustafsson <daniel@yesql.se>, Robert Haas <robertmhaas@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-04-10T18:54:46Z
Lists: pgsql-hackers
st 10. 4. 2024 v 2:44 odesílatel Thomas Munro <thomas.munro@gmail.com> napsal: > On Tue, Apr 9, 2024 at 10:05 PM Dmitry Dolgov <9erthalion6@gmail.com> > wrote: > > + /* In assertion builds, run the LLVM verify pass. */ > > +#ifdef USE_ASSERT_CHECKING > > + LLVMPassBuilderOptionsSetVerifyEach(options, true); > > +#endif > > Thanks, that seems nicer. I think the question is whether it will > slow down build farm/CI/local meson test runs to a degree that exceeds > its value. Another option would be to have some other opt-in macro, > like the existing #ifdef LLVM_PASS_DEBUG, for people who maintain > JIT-related stuff to turn on. > > Supposing we go with USE_ASSERT_CHECKING, I have another question: > > - const char *nm = "llvm.lifetime.end.p0i8"; > + const char *nm = "llvm.lifetime.end.p0"; > > Was that a mistake, or did the mangling rules change in some version? > I don't currently feel inclined to go and test this on the ancient > versions we claim to support in back-branches. Perhaps we should just > do this in master, and then it'd be limited to worrying about LLVM > versions 10-18 (see 820b5af7), which have the distinct advantage of > being available in package repositories for testing. Or I suppose we > could back-patch, but only do it if LLVM_VERSION_MAJOR >= 10. Or we > could do it unconditionally, and wait for ancient-LLVM build farm > animals to break if they're going to. > > I pushed the illegal attribute fix though. Thanks for the detective work! > > (It crossed my mind that perhaps deform functions should have their > own template function, but if someone figures out that that's a good > idea, I think we'll *still* need that change just pushed.) > all tests passed on fc 40 without problems Thank you Pavel
Commits
-
Run LLVM verify pass on IR in assert builds.
- 8583b1f99340 18.0 landed
-
Fix illegal attribute propagation in LLVM JIT.
- 01b55203ace0 12.19 landed
- 4f90750b5326 13.15 landed
- 7fe32eaa4a87 14.12 landed
- 74992929a79e 15.7 landed
- 53c8d6c9f157 17.0 landed
- bf1cfe77ed49 16.3 landed
-
Track LLVM 18 changes.
- d282e88e5052 17.0 cited
-
jit: Changes for LLVM 17.
- 76200e5ee469 17.0 cited