]> granicus.if.org Git - clang/commit
Fix ARM HVA classification of classes with non-virtual bases
authorReid Kleckner <reid@kleckner.net>
Fri, 31 Oct 2014 17:10:41 +0000 (17:10 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 31 Oct 2014 17:10:41 +0000 (17:10 +0000)
commitcb41c5c14c97f0cfb0e60a29a80979b0fc3d963a
treeb0964f1f448ff6ac086b2aec777ecf9fd0dddded
parent4dad1441d2d34698bc71cca028fd40d9d27e8714
Fix ARM HVA classification of classes with non-virtual bases

Reuse the PPC64 HVA detection algorithm for ARM and AArch64. This is a
nice code deduplication, since they are roughly identical. A few virtual
method extension points are needed to understand how big an HVA can be
and what element types it can have for a given architecture.

Also make the record expansion code work in the presence of non-virtual
bases.

Reviewed By: uweigand, asl

Differential Revision: http://reviews.llvm.org/D6045

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220972 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/ABIInfo.h
lib/CodeGen/CGCall.cpp
lib/CodeGen/TargetInfo.cpp
test/CodeGen/ppc64le-aggregates-cpp.cpp [deleted file]
test/CodeGen/ppc64le-aggregates.c
test/CodeGenCXX/homogeneous-aggregates.cpp [new file with mode: 0644]