[all-commits] [llvm/llvm-project] e0a281: [clang][RISCV] Fix ABI mismatch between GCC and Cl...
Alex Bradbury via All-commits
all-commits at lists.llvm.org
Tue Jan 24 06:21:01 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e0a28188d2b53427bc90cdf7f7899c64af102489
https://github.com/llvm/llvm-project/commit/e0a28188d2b53427bc90cdf7f7899c64af102489
Author: Alex Bradbury <asb at igalia.com>
Date: 2023-01-24 (Tue, 24 Jan 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/TargetInfo.cpp
M clang/test/CodeGen/RISCV/riscv32-ilp32-abi.c
M clang/test/CodeGen/RISCV/riscv32-ilp32-ilp32f-abi.c
M clang/test/CodeGen/RISCV/riscv32-ilp32-ilp32f-ilp32d-abi.c
M clang/test/CodeGen/RISCV/riscv32-ilp32f-abi.c
M clang/test/CodeGen/RISCV/riscv64-lp64-abi.c
M clang/test/CodeGen/RISCV/riscv64-lp64-lp64f-abi.c
M clang/test/CodeGen/RISCV/riscv64-lp64-lp64f-lp64d-abi.c
Log Message:
-----------
[clang][RISCV] Fix ABI mismatch between GCC and Clang (extension of integers on stack)
See <https://github.com/llvm/llvm-project/issues/57261> for full
details. Essentially, a previous version of the psABI indicated (by my
reading) that integer scalars passed on the stack were anyext. A [later
commit](https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/cec39a064ee0e5b0129973fffab7e3ad1710498f)
changed this to indicate that they are in fact signext/zeroext just as
if they were passed in registers.
This patch adds the change in the release notes but doesn't add a flag
to retain the old behaviour. The hope is that it's sufficiently hard to
trigger an issue due to this that it isn't worthwhile doing so.
Differential Revision: https://reviews.llvm.org/D140401
More information about the All-commits
mailing list