Re: LLVM 16 (opaque pointers)
От | Andres Freund |
---|---|
Тема | Re: LLVM 16 (opaque pointers) |
Дата | |
Msg-id | 20231012233120.chrw72oxc2pg3vpi@awork3.anarazel.de обсуждение исходный текст |
Ответ на | Re: LLVM 16 (opaque pointers) (Thomas Munro <thomas.munro@gmail.com>) |
Ответы |
Re: LLVM 16 (opaque pointers)
|
Список | pgsql-hackers |
Hi, On 2023-10-11 21:59:50 +1300, Thomas Munro wrote: > +#else > + LLVMPassBuilderOptionsRef options; > + LLVMErrorRef err; > + int compile_optlevel; > + char *passes; > + > + if (context->base.flags & PGJIT_OPT3) > + compile_optlevel = 3; > + else > + compile_optlevel = 0; > + > + passes = psprintf("default<O%d>,mem2reg,function(no-op-function),no-op-module", > + compile_optlevel); I don't think the "function(no-op-function),no-op-module" bit does something particularly useful? I also don't think we should add the mem2reg pass outside of -O0 - running it after a real optimization pipeline doesn't seem useful and might even make the code worse? mem2reg is included in default<O1> (and obviously also in O3). Thanks for working on this stuff! I'm working on setting up buildfarm animals for 16, 17, each once with a normal and an assertion enabled LLVM build. Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: