[lld] r226137 - Merge SimpleFileNode with WrapperNode.

Rui Ueyama ruiu at google.com
Wed Jan 14 23:05:46 PST 2015


Author: ruiu
Date: Thu Jan 15 01:05:46 2015
New Revision: 226137

URL: http://llvm.org/viewvc/llvm-project?rev=226137&view=rev
Log:
Merge SimpleFileNode with WrapperNode.

Modified:
    lld/trunk/include/lld/Core/InputGraph.h
    lld/trunk/lib/Driver/Driver.cpp
    lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp

Modified: lld/trunk/include/lld/Core/InputGraph.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/InputGraph.h?rev=226137&r1=226136&r2=226137&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/InputGraph.h (original)
+++ lld/trunk/include/lld/Core/InputGraph.h Thu Jan 15 01:05:46 2015
@@ -185,21 +185,6 @@ protected:
   bool _done;
 };
 
-/// \brief Represents Internal Input files
-class SimpleFileNode : public FileNode {
-public:
-  SimpleFileNode(StringRef path) : FileNode(path) {}
-  SimpleFileNode(StringRef path, std::unique_ptr<File> f)
-      : FileNode(path, std::move(f)) {}
-
-  virtual ~SimpleFileNode() {}
-
-  /// \brief add a file to the list of files
-  virtual void appendInputFile(std::unique_ptr<File> f) {
-    _file = std::move(f);
-  }
-};
-
 } // namespace lld
 
 #endif // LLD_CORE_INPUT_GRAPH_H

Modified: lld/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/Driver.cpp?rev=226137&r1=226136&r2=226137&view=diff
==============================================================================
--- lld/trunk/lib/Driver/Driver.cpp (original)
+++ lld/trunk/lib/Driver/Driver.cpp Thu Jan 15 01:05:46 2015
@@ -7,7 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "lld/Driver/Driver.h"
 #include "lld/Core/ArchiveLibraryFile.h"
 #include "lld/Core/File.h"
 #include "lld/Core/Instrumentation.h"
@@ -15,6 +14,8 @@
 #include "lld/Core/Parallel.h"
 #include "lld/Core/PassManager.h"
 #include "lld/Core/Resolver.h"
+#include "lld/Driver/Driver.h"
+#include "lld/Driver/WrapperInputGraph.h"
 #include "lld/Passes/RoundTripNativePass.h"
 #include "lld/Passes/RoundTripYAMLPass.h"
 #include "lld/ReaderWriter/Reader.h"
@@ -117,7 +118,7 @@ bool Driver::link(LinkingContext &contex
   context.createInternalFiles(internalFiles);
   for (auto i = internalFiles.rbegin(), e = internalFiles.rend(); i != e; ++i) {
     context.getInputGraph().addInputElementFront(
-        llvm::make_unique<SimpleFileNode>("internal", std::move(*i)));
+        llvm::make_unique<WrapperNode>(std::move(*i)));
   }
 
   // Give target a chance to add files.
@@ -125,7 +126,7 @@ bool Driver::link(LinkingContext &contex
   context.createImplicitFiles(implicitFiles);
   for (auto i = implicitFiles.rbegin(), e = implicitFiles.rend(); i != e; ++i) {
     context.getInputGraph().addInputElementFront(
-        llvm::make_unique<SimpleFileNode>("implicit", std::move(*i)));
+        llvm::make_unique<WrapperNode>(std::move(*i)));
   }
 
   // Give target a chance to sort the input files.

Modified: lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp?rev=226137&r1=226136&r2=226137&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp Thu Jan 15 01:05:46 2015
@@ -17,6 +17,7 @@
 #include "PDBPass.h"
 #include "lld/Core/PassManager.h"
 #include "lld/Core/Simple.h"
+#include "lld/Driver/WrapperInputGraph.h"
 #include "lld/Passes/LayoutPass.h"
 #include "lld/Passes/RoundTripNativePass.h"
 #include "lld/Passes/RoundTripYAMLPass.h"
@@ -109,27 +110,23 @@ bool PECOFFLinkingContext::createImplici
   pecoff::ResolvableSymbols* syms = getResolvableSymsFile();
 
   // Create a file for the entry point function.
-  std::unique_ptr<SimpleFileNode> entry(new SimpleFileNode("<entry>"));
-  entry->appendInputFile(
-      llvm::make_unique<pecoff::EntryPointFile>(*this, syms));
+  std::unique_ptr<WrapperNode> entry(new WrapperNode(
+      llvm::make_unique<pecoff::EntryPointFile>(*this, syms)));
   getInputGraph().addInputElementFront(std::move(entry));
 
   // Create a file for __ImageBase.
-  auto fileNode = llvm::make_unique<SimpleFileNode>("Implicit Files");
-  fileNode->appendInputFile(
-      llvm::make_unique<pecoff::LinkerGeneratedSymbolFile>(*this));
+  std::unique_ptr<WrapperNode> fileNode(new WrapperNode(
+      llvm::make_unique<pecoff::LinkerGeneratedSymbolFile>(*this)));
   getInputGraph().addInputElement(std::move(fileNode));
 
   // Create a file for _imp_ symbols.
-  auto impFileNode = llvm::make_unique<SimpleFileNode>("imp");
-  impFileNode->appendInputFile(
-      llvm::make_unique<pecoff::LocallyImportedSymbolFile>(*this));
+  std::unique_ptr<WrapperNode> impFileNode(new WrapperNode(
+      llvm::make_unique<pecoff::LocallyImportedSymbolFile>(*this)));
   getInputGraph().addInputElement(std::move(impFileNode));
 
   // Create a file for dllexported symbols.
-  auto exportNode = llvm::make_unique<SimpleFileNode>("<export>");
-  exportNode->appendInputFile(
-      llvm::make_unique<pecoff::ExportedSymbolRenameFile>(*this, syms));
+  std::unique_ptr<WrapperNode> exportNode(new WrapperNode(
+      llvm::make_unique<pecoff::ExportedSymbolRenameFile>(*this, syms)));
   addLibraryFile(std::move(exportNode));
 
   return true;





More information about the llvm-commits mailing list