diff options
author | Reid Kleckner <rnk@google.com> | 2020-10-13 19:58:39 -0700 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2020-10-15 14:54:42 -0700 |
commit | 5fbab4025eb57b12f2842ab188ff07a110708e1d (patch) | |
tree | 1b74c4b0080f693219556914c7c453d6d6e72baa /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 6754caa9bf21a759c4080a797f23e2b7a77a71e1 (diff) | |
download | llvm-5fbab4025eb57b12f2842ab188ff07a110708e1d.zip llvm-5fbab4025eb57b12f2842ab188ff07a110708e1d.tar.gz llvm-5fbab4025eb57b12f2842ab188ff07a110708e1d.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions