Simplify test for whether we need an alloca to hold an indirect return
value.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63859 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp
index 703bcd0..af3ea74 100644
--- a/lib/CodeGen/CGCall.cpp
+++ b/lib/CodeGen/CGCall.cpp
@@ -1337,19 +1337,9 @@
// location that we would like to return into.
QualType RetTy = CallInfo.getReturnType();
const ABIArgInfo &RetAI = CallInfo.getReturnInfo();
- switch (RetAI.getKind()) {
- case ABIArgInfo::Indirect:
+ if (CGM.ReturnTypeUsesSret(CallInfo)) {
// Create a temporary alloca to hold the result of the call. :(
Args.push_back(CreateTempAlloca(ConvertType(RetTy)));
- break;
-
- case ABIArgInfo::Direct:
- case ABIArgInfo::Ignore:
- case ABIArgInfo::Coerce:
- break;
-
- case ABIArgInfo::Expand:
- assert(0 && "Invalid ABI kind for return argument");
}
assert(CallInfo.arg_size() == CallArgs.size() &&