[riscv] LLVM silently switches the ABI when target features are incorrect
Open
backend:RISC-V
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
For instance, if the ABI is set to "ilp32" but the "e" target feature is enabled, LLVM ends up actually using the "ilp32e" ABI. I don't think LLVM should just silently ignore the ABI we explicitly asked for.
Cc @beetrees
This is very similar to https://github.com/llvm/llvm-project/issues/110383 for ARM which was recently fixed.
Contributor guide
Research direction
Start by reproducing the RISC-V case described: an explicit "ilp32" ABI with the "e" target feature enabled. Compare the behavior and resolution in ARM issue 110383; done means LLVM no longer silently changes the requested ABI when target features are inconsistent.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100