Change uses of llvm::Type::isFirstClassType to use the new
llvm::Type::isSingleValueType. Currently these two functions have
the same behavior, but soon isFirstClassType will return true for
struct and array types.
Clang may some day want to use of isFirstClassType for some of
these some day as an optimization, but it'll require some
consideration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51446 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGStmt.cpp b/lib/CodeGen/CGStmt.cpp
index 0148ab0..c38ad04 100644
--- a/lib/CodeGen/CGStmt.cpp
+++ b/lib/CodeGen/CGStmt.cpp
@@ -688,7 +688,7 @@
// If the first output operand is not a memory dest, we'll
// make it the return value.
if (i == 0 && !(Info & TargetInfo::CI_AllowsMemory) &&
- DestValueType->isFirstClassType()) {
+ DestValueType->isSingleValueType()) {
ResultAddr = Dest.getAddress();
ResultType = DestValueType;
Constraints += "=" + OutputConstraint;
@@ -709,10 +709,10 @@
llvm::Value *Arg;
if ((Info & TargetInfo::CI_AllowsRegister) ||
!(Info & TargetInfo::CI_AllowsMemory)) {
- if (ConvertType(InputExpr->getType())->isFirstClassType()) {
+ if (ConvertType(InputExpr->getType())->isSingleValueType()) {
Arg = EmitScalarExpr(InputExpr);
} else {
- assert(0 && "FIXME: Implement passing non first class types as inputs");
+ assert(0 && "FIXME: Implement passing multiple-value types as inputs");
}
} else {
LValue Dest = EmitLValue(InputExpr);
@@ -750,10 +750,10 @@
if ((Info & TargetInfo::CI_AllowsRegister) ||
!(Info & TargetInfo::CI_AllowsMemory)) {
- if (ConvertType(InputExpr->getType())->isFirstClassType()) {
+ if (ConvertType(InputExpr->getType())->isSingleValueType()) {
Arg = EmitScalarExpr(InputExpr);
} else {
- assert(0 && "FIXME: Implement passing non first class types as inputs");
+ assert(0 && "FIXME: Implement passing multiple-value types as inputs");
}
} else {
LValue Dest = EmitLValue(InputExpr);