riscv-llvm
riscv-llvm copied to clipboard
RISC-V support for LLVM projects (LLVM, Clang, ...)
| opt-level | inline-threshold | number of errors | |--------------|-----------------------|--------------------------| | 0 | 2000 | 5243 | | 0 | 255 | 3967 | | 0 | 0 | 3012...
This is based on the https://github.com/lowRISC/riscv-llvm-integration repo at Latest commit 74e4050 on 3 Oct 2017. Running llvm-objdump does not disassemble the instructions from the M extension and the jalr is...
There are some patches for atomic support in the backend, but there are still some parts missing to build a rust memory allocator or rust's libstd. ```sh LLVM ERROR: Cannot...
I've migrated a D codebase from the riscv/riscv-llvm -based compiler to the lowRISC/riscv-llvm one. After the latest lowRISC/riscv-llvm changes I was able to remove essentially all workarounds for invalid code...
Using benchmarks from https://github.com/rv8-io/rv8-bench/ I see the current dynamic instruction counts (note: this isn't a perfect proxy for performance, but reasonable for initial comparisons): Benchmark aes with -march=rv32im and -O3...
I thought you might be interested in this bug report. I've observed that the following code: ``` int main() { return __builtin_flt_rounds(); } ``` Causes Clang r318692 to crash as...
On 32-bit systems, Clang defines `__INT64_TYPE__` and `__UINT64_TYPE__` using `long long`: ``` $ i686-unknown-cloudabi-cc -dM -E - < /dev/null | grep INT64_TYPE #define __INT64_TYPE__ long long int #define __UINT64_TYPE__ long...
Hi there, The following piece of code: ``` int main(int argc, char **argv) { __c11_atomic_signal_fence(argc); } ``` causes Clang r318692 with today's patches to crash as follows: ``` fatal error:...
The current frame handling code doesn't do this. Although auditing debug info correctness on general could be more involved, I'm marking this bug as "easy" as just handling and testing...
Code changes should be fairly straight-forward, testing will take most effort.