[all-commits] [llvm/llvm-project] 5fbab4: [MS] Apply `inreg` to AArch64 sret parms on instan...
Reid Kleckner via All-commits
all-commits at lists.llvm.org
Thu Oct 15 15:00:21 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5fbab4025eb57b12f2842ab188ff07a110708e1d
https://github.com/llvm/llvm-project/commit/5fbab4025eb57b12f2842ab188ff07a110708e1d
Author: Reid Kleckner <rnk at google.com>
Date: 2020-10-15 (Thu, 15 Oct 2020)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
Log Message:
-----------
[MS] Apply `inreg` to AArch64 sret parms on instance methods
The documentation rules indicate that instance methods should return
large, trivially copyable aggregates via X1/X0 and not X8 as is normally
done when returning such structs from free functions:
https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2019#return-values
Fixes PR47836, a bug in the initial implementation of these rules.
I tried to simplify the logic a bit as well while I'm here.
Differential Revision: https://reviews.llvm.org/D89362
More information about the All-commits
mailing list