summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/TargetInfo.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-05-11 21:01:17 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-05-11 21:01:17 +0000
commitc37eddf7a7d33f66094b176cf5bbfdf896d67ff6 (patch)
tree84a071d6c116ebaaa3d9fcbd3ac89444e43d8463 /clang/lib/CodeGen/TargetInfo.cpp
parent1a96ef800bc240ca9f0fb89c41ccf47b667c0f49 (diff)
downloadbcm5719-llvm-c37eddf7a7d33f66094b176cf5bbfdf896d67ff6.tar.gz
bcm5719-llvm-c37eddf7a7d33f66094b176cf5bbfdf896d67ff6.zip
Fix handling of vector return types.
A vector should be returned via the hidden pointer argument except if its size is equal to or smaller than 16-bytes and the target ABI is N32 or N64. llvm-svn: 156642
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.cpp')
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index d774ba0d0ca..9016d8c93ad 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -3360,7 +3360,7 @@ ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const {
if (RetTy->isVoidType() || Size == 0)
return ABIArgInfo::getIgnore();
- if (isAggregateTypeForABI(RetTy)) {
+ if (isAggregateTypeForABI(RetTy) || RetTy->isVectorType()) {
if (Size <= 128) {
if (RetTy->isAnyComplexType())
return ABIArgInfo::getDirect();
OpenPOWER on IntegriCloud