Re: JIT compiling with LLVM v12.2

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: JIT compiling with LLVM v12.2
Date: 2018-03-21 21:45:37
Message-ID: CAEepm=3LT7RcSCpajdEgZ2BpNR++9aX0gARHevo9CNuji5H_UA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 22, 2018 at 10:36 AM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> On 2018-03-21 14:21:01 -0700, Andres Freund wrote:
>> I think it's I that did something wrong not you. And the architecture
>> thing is a non-issue, because we're taking the target triple from the
>> right place. I think it's a separate issue. Notably the generated code
>> is apparently corrupt, when reading in the generated bitcode:
>>
>> $ opt-6.0 -O3 -S < /tmp/data/6814.1.bc|less
>> opt-6.0: <stdin>: error: Invalid record (Producer: 'LLVM6.0.0' Reader: 'LLVM 6.0.0')
>>
>> I suspect there's a 32bit vs 64bit confusion in the expression code
>> somewhere, might've accidentally used a 64bit type for Datum somewhere
>> or such. Will compile an LLVM with assertions enabled, to figure this
>> out (which verifies this kinda thing).
>
> Yup, that's it. Found it by searching for 64bit references, while LLVM
> was compiling. I've pushed quickfixes (for the 32 warnings, as well as
> for the 32bit x86 issue, as for configure typos).

Looks good here too.

--
Thomas Munro
http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2018-03-21 21:45:38 Re: JIT compiling with LLVM v12.2
Previous Message Andres Freund 2018-03-21 21:44:28 Re: JIT compiling with LLVM v12.2