switch aggregate expr codegen to use a visitor to localize most of the nasty 
details in its own file.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41213 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CodeGenFunction.h b/CodeGen/CodeGenFunction.h
index f233108..eaf2b1d 100644
--- a/CodeGen/CodeGenFunction.h
+++ b/CodeGen/CodeGenFunction.h
@@ -181,7 +181,9 @@
 class CodeGenFunction {
   CodeGenModule &CGM;  // Per-module state.
   TargetInfo &Target;
+public:
   llvm::LLVMBuilder Builder;
+private:
   
   const FunctionDecl *CurFuncDecl;
   llvm::Function *CurFn;
@@ -410,24 +412,6 @@
   /// aggregate type.  The result is computed into DestPtr.  Note that if
   /// DestPtr is null, the value of the aggregate expression is not needed.
   void EmitAggExpr(const Expr *E, llvm::Value *DestPtr, bool VolatileDest);
-  
-  /// EmitAggLoadOfLValue - Given an expression with aggregate type that
-  /// represents a value lvalue, this method emits the address of the lvalue,
-  /// then loads the result into DestPtr.
-  void EmitAggLoadOfLValue(const Expr *E, llvm::Value *DestPtr, bool VolDest);
-  
-  
-  
-  // Binary Operators.
-  void EmitAggBinaryOperator(const BinaryOperator *E,
-                             llvm::Value *DestPtr, bool VolatileDest);
-
-  
-  void EmitAggBinaryAssign(const BinaryOperator *E, llvm::Value *DestPtr,
-                           bool VolatileDest);
-
-  void EmitAggConditionalOperator(const ConditionalOperator *E,
-                                  llvm::Value *DestPtr, bool VolatileDest);
 };
 }  // end namespace CodeGen
 }  // end namespace clang