[PATCH] D151298: [clang][LoongArch] Fix the calling convention for empty struct in C++ mode
Xi Ruoyao via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 23 23:52:34 PDT 2023
xry111 requested changes to this revision.
xry111 added a comment.
This revision now requires changes to proceed.
Blocking this as it's a deliberate decision made in D132285 <https://reviews.llvm.org/D132285>.
Is there any imperative reason we must really pass the empty struct? The C++ standard only treats struct {} as size 1 for the semantics of pointer comparison. While there is no pointers to registers, ignoring it in the register calling convention will make no harm.
And AFAIK it will be an undefined behavior attempting to (mis)use the padding space of/after the empty struct to pass any information.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D151298/new/
https://reviews.llvm.org/D151298
More information about the cfe-commits
mailing list