From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Devrim Gündüz <devrim(at)gunduz(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>, Ronan Dunklau <ronan(dot)dunklau(at)aiven(dot)io>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com> |
Subject: | Re: LLVM 16 (opaque pointers) |
Date: | 2023-10-12 23:31:20 |
Message-ID: | 20231012233120.chrw72oxc2pg3vpi@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2023-10-12 23:46:02 | Re: Test 026_overwrite_contrecord fails on very slow machines (under Valgrind) |
Previous Message | Michael Paquier | 2023-10-12 23:30:02 | Re: Test 026_overwrite_contrecord fails on very slow machines (under Valgrind) |