[MS] On x86_32, pass overaligned, non-copyable arguments indirectly
authorReid Kleckner <rnk@google.com>
Fri, 18 Sep 2020 18:22:15 +0000 (11:22 -0700)
committerReid Kleckner <rnk@google.com>
Mon, 21 Sep 2020 18:49:17 +0000 (11:49 -0700)
commit3b3a16548568f5b6c4146ca5129eb6af5000e4ff
treea7564098f1c2fcd3017d14c6dd70d3b82787d2b6
parentf87ceb63eb011e5cd653218af619097b58bf568f
[MS] On x86_32, pass overaligned, non-copyable arguments indirectly

This updates the C++ ABI argument classification code to use the logic
from D72114, fixing an ABI incompatibility with MSVC.

Part of PR44395.

Differential Revision: https://reviews.llvm.org/D87923
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/test/CodeGenCXX/inalloca-overaligned.cpp