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;