[MS] Simplify rules for passing C++ records
authorReid Kleckner <rnk@google.com>
Thu, 24 Sep 2020 20:42:41 +0000 (13:42 -0700)
committerReid Kleckner <rnk@google.com>
Thu, 24 Sep 2020 23:29:47 +0000 (16:29 -0700)
commitb8a50e920704436ddcbe0cc9d2020935d7e37095
treed5fc2bdf89d609c5ba17317d901532d1e4bc802c
parent43804364e2bc2bd586740dbb0b7aae2137c130cc
[MS] Simplify rules for passing C++ records

Regardless of the target architecture, we should always use the C rules
(RAA_Default) for records that "canBePassedInRegisters". Those are
trivially copyable things, and things marked with [[trivial_abi]].

This should be NFC, although it changes where the final decision about
x86_32 overaligned records is made. The current x86_32 C rules say that
overaligned things are passed indirectly, so there is no functional
difference.
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/test/CodeGenCXX/inalloca-overaligned.cpp