Backout r66408, we don't want handling of globals to rely on the
module symbol table. The root problem inspiring this was fixed in
r66316 (and again in r66506).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66512 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenModule.h b/lib/CodeGen/CodeGenModule.h
index 039579f..c3a84af 100644
--- a/lib/CodeGen/CodeGenModule.h
+++ b/lib/CodeGen/CodeGenModule.h
@@ -312,17 +312,14 @@
 
   void EmitGlobalDefinition(const ValueDecl *D);
 
-  /// EmitForwardFunctionDefinition - Create a new function for the given decl
-  /// and set attributes as appropriate if ReplaceExisting is true, or if the
-  /// same named declaration doesn't already exist in the module table,
-  /// otherwise return the existing function from the module table.
+  /// EmitForwardFunctionDefinition - Create a new function for the
+  /// given decl and set attributes as appropriate.
   ///
-  /// \arg Ty - If non-null the LLVM function type to use for the decl; it is
-  /// the callers responsibility to make sure this is compatible with the
-  /// correct type.
+  /// \arg Ty - If non-null the LLVM function type to use for the
+  /// decl; it is the callers responsibility to make sure this is
+  /// compatible with the correct type.
   llvm::GlobalValue *EmitForwardFunctionDefinition(const FunctionDecl *D,
-                                                   const llvm::Type *Ty,
-                                                   bool ReplaceExisting=false);
+                                                   const llvm::Type *Ty);
 
   void EmitGlobalFunctionDefinition(const FunctionDecl *D);
   void EmitGlobalVarDefinition(const VarDecl *D);
@@ -340,19 +337,19 @@
   void EmitAliases(void);
   void EmitAnnotations(void);
 
-  /// EmitDeferred - Emit any needed decls for which code generation was
-  /// deferred.
+  /// EmitDeferred - Emit any needed decls for which code generation
+  /// was deferred.
   void EmitDeferred(void);
 
-  /// EmitLLVMUsed - Emit the llvm.used metadata used to force references to
-  /// global which may otherwise be optimized out.
+  /// EmitLLVMUsed - Emit the llvm.used metadata used to force
+  /// references to global which may otherwise be optimized out.
   void EmitLLVMUsed(void);
 
   void BindRuntimeGlobals();
 
-  /// MayDeferGeneration - Determine if the given decl can be emitted lazily;
-  /// this is only relevant for definitions. The given decl must be either a
-  /// function or var decl.
+  /// MayDeferGeneration - Determine if the given decl can be emitted
+  /// lazily; this is only relevant for definitions. The given decl
+  /// must be either a function or var decl.
   bool MayDeferGeneration(const ValueDecl *D);
 };
 }  // end namespace CodeGen