aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopVersioning.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2022-09-08 20:22:39 +0000
committerDavid Blaikie <dblaikie@gmail.com>2022-10-04 20:19:17 +0000
commit4769976c49be468d7629d513080e6959a25adcfe (patch)
tree0ce3919d3cf6560e736ce3dad76baf1d1d88da97 /llvm/lib/Transforms/Utils/LoopVersioning.cpp
parentcf43154bc37540f32d0a345b7d5aa99d21f73cee (diff)
downloadllvm-4769976c49be468d7629d513080e6959a25adcfe.zip
llvm-4769976c49be468d7629d513080e6959a25adcfe.tar.gz
llvm-4769976c49be468d7629d513080e6959a25adcfe.tar.bz2
MSVC ABI: Looks like even non-aarch64 uses the MSVC/14 definition for pod/aggregate passing
Details posted here: https://reviews.llvm.org/D119051#3747201 3 cases that were inconsistent with the MSABI without this patch applied: https://godbolt.org/z/GY48qxh3G - field with protected member https://godbolt.org/z/Mb1PYhjrP - non-static data member initializer https://godbolt.org/z/sGvxcEPjo - defaulted copy constructor I'm not sure what's suitable/sufficient testing for this - I did verify the three cases above. Though if it helps to add them as explicit tests, I can do that too. Also, I was wondering if the other use of isTrivialForAArch64MSVC in isPermittedToBeHomogenousAggregate could be another source of bugs - I tried changing the function to unconditionally call isTrivialFor(AArch64)MSVC without testing AArch64 first, but no tests fail, so it looks like this is undertested in any case. But I had trouble figuring out how to exercise this functionality properly to add test coverage and then compare that to MSVC itself... - I got very confused/turned around trying to test this, so I've given up enough to send what I have out for review, but happy to look further into this with help. Differential Revision: https://reviews.llvm.org/D133817
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions