diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-02-05 09:24:53 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-02-05 09:24:53 +0000 |
commit | 2969a0243b0939286a45d0ba58dd3e1de226ac60 (patch) | |
tree | 27927c5d9104f177c09a81059dcfdfe3273f8582 /lib/CodeGen/CGCall.cpp | |
parent | 1f7459814ed78067a8f0db3e1082b45ec89c16ab (diff) |
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
Diffstat (limited to 'lib/CodeGen/CGCall.cpp')
-rw-r--r-- | lib/CodeGen/CGCall.cpp | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp index 703bcd0d85..af3ea74d23 100644 --- a/lib/CodeGen/CGCall.cpp +++ b/lib/CodeGen/CGCall.cpp @@ -1337,19 +1337,9 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo &CallInfo, // 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() && |