[PATCH] D113959: [llvm][RISC-V] Use floating-point ABI by default if possible

Oi Chee Cheung via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 17 18:37:53 PST 2021


occheung added a comment.

In D113959#3137632 <https://reviews.llvm.org/D113959#3137632>, @asb wrote:

> I've got no real objection to changing the default, but I just wondered if the current default was causing a problem for you?

It becomes an issue when we attempt to write LLVM IR with other platforms (e.g. llvmlite, inkwell, etc).
These libraries may not expose the ABI argument to their API, so when compiling with RISC-V hard-float targets, it will use the default integer ABI (ilp32/lp64).
Some other languages based on LLVM (e.g. Rust) may have selected the float ABI by their default.
It will cause ABI conflict when we need to link libraries built with different platforms (e.g. link dynamic libraries built with llvmlite to a binary built with Rust).

Well technically making a patch to these platforms would solve the issue (as my PR in llvmlite <https://github.com/numba/llvmlite/pull/775>), but we will eventually have to apply the same patch to every application that didn't/haven't sort out the ABI argument.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113959/new/

https://reviews.llvm.org/D113959



More information about the llvm-commits mailing list