emit aliases as the definitions fly by, don't bother deferring until
the end of the module.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67482 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenModule.h b/lib/CodeGen/CodeGenModule.h
index bea2d15..fdf5775 100644
--- a/lib/CodeGen/CodeGenModule.h
+++ b/lib/CodeGen/CodeGenModule.h
@@ -104,11 +104,6 @@
   /// has one).
   llvm::StringSet<> MangledNames;
 
-  /// Aliases - List of aliases in module. These cannot be emitted until all the
-  /// code has been seen, as they reference things by name instead of directly
-  /// and may reference forward.
-  std::vector<const ValueDecl*> Aliases;
-
   /// DeferredDecls - This contains all the decls which have definitions but
   /// which are deferred for emission and therefore should only be output if
   /// they are actually used.  If a decl is in this, then it is known to have
@@ -331,6 +326,7 @@
 
   void EmitGlobalFunctionDefinition(const FunctionDecl *D);
   void EmitGlobalVarDefinition(const VarDecl *D);
+  void EmitAliasDefinition(const ValueDecl *D);
   void EmitObjCPropertyImplementations(const ObjCImplementationDecl *D);
 
   // FIXME: Hardcoding priority here is gross.
@@ -342,7 +338,6 @@
   /// suitable for use as a LLVM constructor or destructor array.
   void EmitCtorList(const CtorList &Fns, const char *GlobalName);
 
-  void EmitAliases(void);
   void EmitAnnotations(void);
 
   /// EmitDeferred - Emit any needed decls for which code generation