Re: [PATCH] LLVM tuple deforming improvements - Mailing list pgsql-hackers

From Andres Freund
Subject Re: [PATCH] LLVM tuple deforming improvements
Date
Msg-id 20180713210845.frs6lan5h7of2llv@alap3.anarazel.de
Whole thread Raw
In response to [PATCH] LLVM tuple deforming improvements  (Pierre Ducroquet <p.psql@pinaraf.info>)
Responses Re: [PATCH] LLVM tuple deforming improvements  (Pierre Ducroquet <p.psql@pinaraf.info>)
List pgsql-hackers
Hi,

Thanks for looking at this!

On 2018-07-13 10:20:42 +0200, Pierre Ducroquet wrote:
> 2) improve the LLVM IR code
> 
> The code generator in llvmjit-deform.c currently rely on the LLVM optimizer to 
> do the right thing. For instance, it can generate a lot of empty blocks with 
> only a jump. If we don't want to enable the LLVM optimizer for every code, we 
> have to get rid of this kind of pattern. The attached patch does that. When 
> the optimizer is not used, this gets a few cycles boost, nothing impressive.
> I have tried to go closer to the optimized bitcode, but it requires building 
> phi nodes manually instead of using alloca, and this isn't enough to bring us 
> to the performance level of -O1.

Building phi blocks manually is too painful imo. But there's plenty
blocks we could easily skip entirely, even without creating phi nodes.



> From 4da278ee49b91d34120747c6763c248ad52da7b7 Mon Sep 17 00:00:00 2001
> From: Pierre Ducroquet <p.psql@pinaraf.info>
> Date: Mon, 2 Jul 2018 13:44:10 +0200
> Subject: [PATCH] Introduce opt1 in LLVM/JIT, and force it with deforming

I think I'd rather go for more explicit pipelines than defaulting to OX
pipelines.  This is too late for v11, and I suspect quite strongly that
we'll end up not relying on any of the default pipelines going forward -
they're just not targeted at our usecase.  I just didn't go there for
v11, because I was running out of steam / time.

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: cannot restore schema with is not distinct from on hstore since PG 9.6.8
Next
From: Alvaro Herrera
Date:
Subject: Re: partition pruning doesn't work with IS NULL clause in multikeyrange partition case