lowRISC / lowRISC/riscv-llvm

How to build lli (LLVM JIT) for RISCV?

Open
#70 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
277
Forks
55
PR merge metrics
No merged PRs in 30d

Description

Hi everyone,

I am trying to build a JIT for the RISC-V platform, but I could not figure
out how. Could you provide some hints? Great thanks!

Initially, I found that LLVM has RISCV backend, and I compiled it following
the instructions here . I got a
cross-compiler version of clang (running on x86 and the generated binary
runs on RISC-V), but the lli is still a X86 tool.

Then, I tried to build LLVM with riscv-gnu-toolchain
, and I got many tools such
as llc working on RISC-V properly. However, the lli still could not work
properly. When I tried to process the LLVM bytecode file (.ll file) on
RISC-V using lli, I got the error:
error creating EE: No available targets are compatible with this
triple.
Furthermore, when I typed: ./lli --version, I got:
```
Default target:
x86_64-unknown-linux-gnu
Host CPU: (unknown)
```
But when I typed: llc -version (llc works fine), I got:
```
DEBUG build with assertions.
Default target: x86_64-unknown-linux-gnu
Host CPU: (unknown)
Registered Targets:
riscv32 - 32-bit RISC-V
riscv64 - 64-bit RISC-V
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
```
It seems that the lli tool does not support RISC-V target.

Could anyone give me some hints? Thank you so much!!

Best,

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the reported lli failure on RISC-V with the LLVM .ll file and compare it with the working llc build. Read the lli and llc version output and the linked LLVM and riscv-gnu-toolchain build instructions. Done means lli can process the .ll file on RISC-V without the incompatible-target error.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.