Hi,
On November 2, 2021 3:55:58 PM PDT, Thomas Munro <thomas.munro@gmail.com> wrote:
>2. When configured with all options on FreeBSD 13, everything looks
>good so far except LLVM JIT, which fails with various "Cannot select"
>errors. Clang works fine for compiling PostgreSQL itself. Tested
>with LLVM 12 (LLVM has supported RISCV since 9). Example:
>
>+FATAL: fatal llvm error: Cannot select: 0x4f772068: ch = brcond
>0x4f770f70, 0x4f772208, BasicBlock:ch< 0x4f76d600>
>+ 0x4f772208: i64 = setcc 0x4f7723a8, Constant:i64<0>, setlt:ch
>+ 0x4f7723a8: i64,ch = load<(load 4 from `i32* inttoptr (i64
>1260491408 to i32*)`, align 16), sext from i32> 0x4fdee058,
>Constant:i64<1260491408>, undef:i64
>+ 0x4f770a90: i64 = Constant<1260491408>
>+ 0x4f7703a8: i64 = undef
>+ 0x4f7701a0: i64 = Constant<0>
>+In function: evalexpr_0_0
Any chance you could enable jit_dump_bitcode and manually try a failing query? That should dump. bc files in the data
directory.That'd might allow debugging this outside the emulated environment.
I don't see where the undef is originating from, but I think it might suggest that something lead to that code being
consideredunreachable.
Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.