diff options
author | Akira Hatanaka <ahatanaka@mips.com> | 2012-05-11 21:01:17 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@mips.com> | 2012-05-11 21:01:17 +0000 |
commit | c37eddf7a7d33f66094b176cf5bbfdf896d67ff6 (patch) | |
tree | 84a071d6c116ebaaa3d9fcbd3ac89444e43d8463 /clang/lib/CodeGen/TargetInfo.cpp | |
parent | 1a96ef800bc240ca9f0fb89c41ccf47b667c0f49 (diff) | |
download | bcm5719-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.cpp | 2 |
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(); |