diff options
author | Anders Carlsson <andersca@mac.com> | 2011-05-08 20:32:23 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-05-08 20:32:23 +0000 |
commit | a2447e0d1e28669cd637204a871f15b1215277fd (patch) | |
tree | 818c558db2a9bc04612bc145f14d1c0576d107da /lib/CodeGen/CGExprCXX.cpp | |
parent | 76934c703e53f676b96e4127663b4adb0285ea4a (diff) |
Move code to emit the callee of an CXXOperatorCallExpr out into a separate function in CGClass.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131075 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGExprCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGExprCXX.cpp | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/lib/CodeGen/CGExprCXX.cpp b/lib/CodeGen/CGExprCXX.cpp index f6103b6c7a..6ee9bc1033 100644 --- a/lib/CodeGen/CGExprCXX.cpp +++ b/lib/CodeGen/CGExprCXX.cpp @@ -345,18 +345,7 @@ CodeGenFunction::EmitCXXOperatorMemberCallExpr(const CXXOperatorCallExpr *E, } } - const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>(); - const llvm::Type *Ty = - CGM.getTypes().GetFunctionType(CGM.getTypes().getFunctionInfo(MD), - FPT->isVariadic()); - llvm::Value *Callee; - if (MD->isVirtual() && - !canDevirtualizeMemberFunctionCalls(getContext(), - E->getArg(0), MD)) - Callee = BuildVirtualCall(MD, This, Ty); - else - Callee = CGM.GetAddrOfFunction(MD, Ty); - + llvm::Value *Callee = EmitCXXOperatorMemberCallee(E, MD, This); return EmitCXXMemberCall(MD, Callee, ReturnValue, This, /*VTT=*/0, E->arg_begin() + 1, E->arg_end()); } |