Revert r246214 and r246213

These two commits causes llvm LTO bootstrap to hang in ScalarEvolution.

llvm-svn: 246282
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index ca3d3c4..154c0cb 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -1310,27 +1310,21 @@
   void EmitInitializerForField(FieldDecl *Field, LValue LHS, Expr *Init,
                                ArrayRef<VarDecl *> ArrayIndexes);
 
-  /// Struct with all informations about dynamic [sub]class needed to set vptr.
-  struct VPtr {
-    BaseSubobject Base;
-    const CXXRecordDecl *NearestVBase;
-    CharUnits OffsetFromNearestVBase;
-    const CXXRecordDecl *VTableClass;
-  };
-
-  /// Initialize the vtable pointer of the given subobject.
-  void InitializeVTablePointer(const VPtr &vptr);
-
-  typedef llvm::SmallVector<VPtr, 4> VPtrsVector;
+  /// InitializeVTablePointer - Initialize the vtable pointer of the given
+  /// subobject.
+  ///
+  void InitializeVTablePointer(BaseSubobject Base,
+                               const CXXRecordDecl *NearestVBase,
+                               CharUnits OffsetFromNearestVBase,
+                               const CXXRecordDecl *VTableClass);
 
   typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy;
-  VPtrsVector getVTablePointers(const CXXRecordDecl *VTableClass);
-
-  void getVTablePointers(BaseSubobject Base, const CXXRecordDecl *NearestVBase,
-                         CharUnits OffsetFromNearestVBase,
-                         bool BaseIsNonVirtualPrimaryBase,
-                         const CXXRecordDecl *VTableClass,
-                         VisitedVirtualBasesSetTy &VBases, VPtrsVector &vptrs);
+  void InitializeVTablePointers(BaseSubobject Base,
+                                const CXXRecordDecl *NearestVBase,
+                                CharUnits OffsetFromNearestVBase,
+                                bool BaseIsNonVirtualPrimaryBase,
+                                const CXXRecordDecl *VTableClass,
+                                VisitedVirtualBasesSetTy& VBases);
 
   void InitializeVTablePointers(const CXXRecordDecl *ClassDecl);
 
@@ -1759,19 +1753,10 @@
   // they are substantially the same.
   void EmitDelegatingCXXConstructorCall(const CXXConstructorDecl *Ctor,
                                         const FunctionArgList &Args);
-
   void EmitCXXConstructorCall(const CXXConstructorDecl *D, CXXCtorType Type,
                               bool ForVirtualBase, bool Delegating,
                               llvm::Value *This, const CXXConstructExpr *E);
 
-  /// Emit assumption load for all bases. Requires to be be called only on
-  /// most-derived class and not under construction of the object.
-  void EmitVTableAssumptionLoads(const CXXRecordDecl *ClassDecl,
-                                 llvm::Value *This);
-
-  /// Emit assumption that vptr load == global vtable.
-  void EmitVTableAssumptionLoad(const VPtr &vptr, llvm::Value *This);
-
   void EmitSynthesizedCXXCopyCtorCall(const CXXConstructorDecl *D,
                               llvm::Value *This, llvm::Value *Src,
                               const CXXConstructExpr *E);