[WebAssembly] Remove special handling of entry point export.

Its much easier to export it via setHidden(false), now that
that is a thing.

As a side effect the start function is not longer always exports first
(becuase its being exported just like all the other function).

Differential Revision: https://reviews.llvm.org/D42321

llvm-svn: 323025
diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp
index a6d21c1..dd3288e 100644
--- a/lld/wasm/Writer.cpp
+++ b/lld/wasm/Writer.cpp
@@ -617,8 +617,6 @@
 }
 
 void Writer::calculateExports() {
-  Symbol *EntrySym = Symtab->find(Config->Entry);
-  bool ExportEntry = !Config->Relocatable && EntrySym && EntrySym->isDefined();
   bool ExportHidden = Config->EmitRelocs;
   StringSet<> UsedNames;
   auto BudgeLocalName = [&](const Symbol *Sym) {
@@ -640,11 +638,7 @@
     }
   };
 
-  if (ExportEntry)
-    ExportedSymbols.emplace_back(WasmExportEntry{EntrySym, EntrySym->getName()});
-
-  if (Config->CtorSymbol && ExportHidden &&
-      !(ExportEntry && Config->CtorSymbol == EntrySym))
+  if (Config->CtorSymbol && (!Config->CtorSymbol->isHidden() || ExportHidden))
     ExportedSymbols.emplace_back(
         WasmExportEntry{Config->CtorSymbol, Config->CtorSymbol->getName()});
 
@@ -659,8 +653,6 @@
 
       if ((Sym->isHidden() || Sym->isLocal()) && !ExportHidden)
         continue;
-      if (ExportEntry && Sym == EntrySym)
-        continue;
       ExportedSymbols.emplace_back(WasmExportEntry{Sym, BudgeLocalName(Sym)});
     }
   }