Change CodeGen to emit calls using (RValue,Type) list:
- Add CodeGenFunction::EmitAnyExprToTemp
o Like EmitAnyExpr, but emits aggregates to a temporary location if
none is available. Seems like this should be simpler (even aside
from using first class aggregates).
- Killed CodeGenFunction::EmitCallArg (just append the pair)
- Conversion of RValues to actual call arguments is now isolated in
CodeGenFunction::EmitCall.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55970 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCRuntime.h b/lib/CodeGen/CGObjCRuntime.h
index 4bc293a..7b00725 100644
--- a/lib/CodeGen/CGObjCRuntime.h
+++ b/lib/CodeGen/CGObjCRuntime.h
@@ -21,6 +21,7 @@
#include <string>
#include "CGValue.h"
+#include "CGCall.h"
namespace llvm {
class Constant;
@@ -31,9 +32,9 @@
}
namespace clang {
- namespace CodeGen {
- class CodeGenFunction;
- }
+namespace CodeGen {
+ class CodeGenFunction;
+}
class ObjCCategoryImplDecl;
class ObjCImplementationDecl;
@@ -43,8 +44,6 @@
class ObjCProtocolDecl;
class Selector;
- typedef llvm::SmallVector<std::pair<llvm::Value*, QualType>, 16> CallArgList;
-
namespace CodeGen {
class CodeGenModule;