summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2014-10-24 14:42:42 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2014-10-24 14:42:42 +0000
commit5b445b3844782f4d12de35a6b6a537c265d246d9 (patch)
tree8e65f97db1977e5714b0e8f6ce96db353fa70a4a /clang/lib/CodeGen
parentdf6d7b1564d292a339f07b17c7e38511e589be3d (diff)
downloadbcm5719-llvm-5b445b3844782f4d12de35a6b6a537c265d246d9.tar.gz
bcm5719-llvm-5b445b3844782f4d12de35a6b6a537c265d246d9.zip
[mips] Promote all integral/enumeration types to the GPR width
Summary: Ensure all integral/enumeration types are appropriately annotated with signext/zeroext. In particular, i32 now has these attributes when using the N32/N64 ABI. This paves the way for accurately representing the way the N32/N64 ABI's promotes integer arguments to i64. Reviewers: atanasyan Reviewed By: atanasyan Subscribers: cfe-commits, theraven Differential Revision: http://reviews.llvm.org/D5961 llvm-svn: 220563
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 55ff63300d7..88ffabefe45 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -5617,7 +5617,8 @@ MipsABIInfo::classifyArgumentType(QualType Ty, uint64_t &Offset) const {
if (const EnumType *EnumTy = Ty->getAs<EnumType>())
Ty = EnumTy->getDecl()->getIntegerType();
- if (Ty->isPromotableIntegerType())
+ // All integral types are promoted to the GPR width.
+ if (Ty->isIntegralOrEnumerationType())
return ABIArgInfo::getExtend();
return ABIArgInfo::getDirect(
OpenPOWER on IntegriCloud