summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-01-24 21:47:33 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-01-24 21:47:33 +0000
commit4f15fb46a1f522bb48e4069a5ada2c66d485e7d2 (patch)
treeeb7346ec37e23d179a01617ae27cfe7a6bfd73b3 /clang/lib/CodeGen
parent12780c2d97bbe2839cc926729d456856346ee706 (diff)
downloadbcm5719-llvm-4f15fb46a1f522bb48e4069a5ada2c66d485e7d2.tar.gz
bcm5719-llvm-4f15fb46a1f522bb48e4069a5ada2c66d485e7d2.zip
[mips] Do not emit i32 padding if target ABI is O32. This was causing backend
to pass floating point arguments to be passed in integer registers. llvm-svn: 173375
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index 68038535781..a2e575d3f0a 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -4022,7 +4022,8 @@ MipsABIInfo::classifyArgumentType(QualType Ty, uint64_t &Offset) const {
if (Ty->isPromotableIntegerType())
return ABIArgInfo::getExtend();
- return ABIArgInfo::getDirect(0, 0, getPaddingType(Align, OrigOffset));
+ return ABIArgInfo::getDirect(0, 0,
+ IsO32 ? 0 : getPaddingType(Align, OrigOffset));
}
llvm::Type*
OpenPOWER on IntegriCloud