diff options
| author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-10-24 14:42:42 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-10-24 14:42:42 +0000 |
| commit | 5b445b3844782f4d12de35a6b6a537c265d246d9 (patch) | |
| tree | 8e65f97db1977e5714b0e8f6ce96db353fa70a4a /clang/lib/CodeGen | |
| parent | df6d7b1564d292a339f07b17c7e38511e589be3d (diff) | |
| download | bcm5719-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.cpp | 3 |
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( |

