This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5fbab4025eb5: [MS] Apply `inreg` to AArch64 sret parms on
instance methods (authored by rnk).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE L
efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.
Makes a lot more sense now. LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89362/new/
https://reviews.llvm.org/D89362
rnk updated this revision to Diff 298473.
rnk added a comment.
- simplify some more
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89362/new/
https://reviews.llvm.org/D89362
Files:
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/test/CodeGenCXX/mic
rnk added inline comments.
Comment at: clang/lib/CodeGen/MicrosoftCXXABI.cpp:1108
+ bool isTrivialForABI =
+ RD->canPassInRegisters() && !(isAArch64 && !isCXX14Aggregate(RD));
bool isIndirectReturn =
efriedma wrote:
> isTrivialForABI is only used if isAA
efriedma added inline comments.
Comment at: clang/lib/CodeGen/MicrosoftCXXABI.cpp:1077
-static bool hasMicrosoftABIRestrictions(const CXXRecordDecl *RD) {
+static bool isCXX14Aggregate(const CXXRecordDecl *RD) {
// For AArch64, we use the C++14 definition of an aggregate, so
rnk created this revision.
rnk added reviewers: mgrang, efriedma.
Herald added subscribers: danielkiss, kristof.beyls.
Herald added a project: clang.
rnk requested review of this revision.
The documentation rules indicate that instance methods should return
large, trivially copyable aggregates via