llvm / llvm/llvm-project

[riscv] LLVM silently switches the ABI when target features are incorrect

Open
#216,741 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.