[all-commits] [llvm/llvm-project] af57a0: [SVE] Add fatal error when running out of register...
david-arm via All-commits
all-commits at lists.llvm.org
Wed Oct 14 01:32:12 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: af57a0838eba528c2e5bd805d92c611435fca0d8
https://github.com/llvm/llvm-project/commit/af57a0838eba528c2e5bd805d92c611435fca0d8
Author: David Sherwood <david.sherwood at arm.com>
Date: 2020-10-14 (Wed, 14 Oct 2020)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-calling-convention-tuples-broken.ll
Log Message:
-----------
[SVE] Add fatal error when running out of registers for SVE tuple call arguments
When passing SVE types as arguments to function calls we can run
out of hardware SVE registers. This is normally fine, since we
switch to an indirect mode where we pass a pointer to a SVE stack
object in a GPR. However, if we switch over part-way through
processing a SVE tuple then part of it will be in registers and
the other part will be on the stack. This is wrong and we'd like
to avoid any silent ABI compatibility issues in future. For now,
I've added a fatal error when this happens until we can get a
proper fix.
Differential Revision: https://reviews.llvm.org/D89326
More information about the All-commits
mailing list