[lld] r226149 - Remove InputGraph and use std::vector<Node> instead.
Rafael EspĂndola
rafael.espindola at gmail.com
Mon Jan 19 07:03:30 PST 2015
This awesome. Thank you so much!
On 15 January 2015 at 03:46, Rui Ueyama <ruiu at google.com> wrote:
> Author: ruiu
> Date: Thu Jan 15 02:46:36 2015
> New Revision: 226149
>
> URL: http://llvm.org/viewvc/llvm-project?rev=226149&view=rev
> Log:
> Remove InputGraph and use std::vector<Node> instead.
>
> In total we have removed more than 1000 lines!
>
> Modified:
> lld/trunk/include/lld/Core/InputGraph.h
> lld/trunk/include/lld/Core/LinkingContext.h
> lld/trunk/include/lld/ReaderWriter/PECOFFLinkingContext.h
> lld/trunk/lib/Core/Resolver.cpp
> lld/trunk/lib/Driver/CoreDriver.cpp
> lld/trunk/lib/Driver/DarwinLdDriver.cpp
> lld/trunk/lib/Driver/Driver.cpp
> lld/trunk/lib/Driver/GnuLdDriver.cpp
> lld/trunk/lib/Driver/WinLinkDriver.cpp
> lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
> lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp
> lld/trunk/unittests/DriverTests/DriverTest.h
>
> Modified: lld/trunk/include/lld/Core/InputGraph.h
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/InputGraph.h?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/include/lld/Core/InputGraph.h (original)
> +++ lld/trunk/include/lld/Core/InputGraph.h Thu Jan 15 02:46:36 2015
> @@ -17,32 +17,12 @@
> #define LLD_CORE_INPUT_GRAPH_H
>
> #include "lld/Core/File.h"
> -#include "lld/Core/range.h"
> -#include "llvm/ADT/STLExtras.h"
> #include "llvm/Option/ArgList.h"
> -#include "llvm/Support/ErrorOr.h"
> -#include "llvm/Support/MemoryBuffer.h"
> -#include "llvm/Support/raw_ostream.h"
> -#include <functional>
> #include <memory>
> -#include <stack>
> #include <vector>
>
> namespace lld {
>
> -class Node;
> -class LinkingContext;
> -
> -class InputGraph {
> -public:
> - std::vector<std::unique_ptr<Node>> &members() {
> - return _members;
> - }
> -
> -protected:
> - std::vector<std::unique_ptr<Node>> _members;
> -};
> -
> // A Node represents a FileNode or other type of Node. In the latter case,
> // the node contains meta information about the input file list.
> // Currently only GroupEnd node is defined as a meta node.
>
> Modified: lld/trunk/include/lld/Core/LinkingContext.h
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/LinkingContext.h?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/include/lld/Core/LinkingContext.h (original)
> +++ lld/trunk/include/lld/Core/LinkingContext.h Thu Jan 15 02:46:36 2015
> @@ -25,7 +25,6 @@ namespace lld {
> class PassManager;
> class File;
> class Writer;
> -class InputGraph;
> class Node;
> class SharedLibraryFile;
>
> @@ -216,10 +215,8 @@ public:
> return _aliasSymbols;
> }
>
> - void setInputGraph(std::unique_ptr<InputGraph> inputGraph) {
> - _inputGraph = std::move(inputGraph);
> - }
> - InputGraph &getInputGraph() const { return *_inputGraph; }
> + std::vector<std::unique_ptr<Node>> &getNodes() { return _nodes; }
> + const std::vector<std::unique_ptr<Node>> &getNodes() const { return _nodes; }
>
> /// Notify the LinkingContext when an atom is added to the symbol table.
> /// This is an opportunity for flavor specific work to be done.
> @@ -365,7 +362,7 @@ protected:
> std::map<std::string, std::string> _aliasSymbols;
> std::vector<const char *> _llvmOptions;
> StringRefVector _initialUndefinedSymbols;
> - std::unique_ptr<InputGraph> _inputGraph;
> + std::vector<std::unique_ptr<Node>> _nodes;
> mutable llvm::BumpPtrAllocator _allocator;
> mutable uint64_t _nextOrdinal;
> Registry _registry;
>
> Modified: lld/trunk/include/lld/ReaderWriter/PECOFFLinkingContext.h
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/ReaderWriter/PECOFFLinkingContext.h?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/include/lld/ReaderWriter/PECOFFLinkingContext.h (original)
> +++ lld/trunk/include/lld/ReaderWriter/PECOFFLinkingContext.h Thu Jan 15 02:46:36 2015
> @@ -334,8 +334,6 @@ public:
> return *r;
> }
>
> - virtual bool hasInputGraph() { return !!_inputGraph; }
> -
> void addLibraryFile(std::unique_ptr<FileNode> file);
>
> void setModuleDefinitionFile(const std::string val) {
>
> Modified: lld/trunk/lib/Core/Resolver.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/Resolver.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/Core/Resolver.cpp (original)
> +++ lld/trunk/lib/Core/Resolver.cpp Thu Jan 15 02:46:36 2015
> @@ -232,8 +232,7 @@ void Resolver::addAtoms(const std::vecto
> // Returns true if at least one of N previous files has created an
> // undefined symbol.
> bool Resolver::undefinesAdded(int begin, int end) {
> - std::vector<std::unique_ptr<Node>> &inputs =
> - _context.getInputGraph().members();
> + std::vector<std::unique_ptr<Node>> &inputs = _context.getNodes();
> for (int i = begin; i < end; ++i)
> if (FileNode *node = dyn_cast<FileNode>(inputs[i].get()))
> if (_newUndefinesAdded[node->getFile()])
> @@ -242,8 +241,7 @@ bool Resolver::undefinesAdded(int begin,
> }
>
> File *Resolver::getFile(int &index, int &groupLevel) {
> - std::vector<std::unique_ptr<Node>> &inputs
> - = _context.getInputGraph().members();
> + std::vector<std::unique_ptr<Node>> &inputs = _context.getNodes();
> if ((size_t)index >= inputs.size())
> return nullptr;
> if (GroupEnd *group = dyn_cast<GroupEnd>(inputs[index].get())) {
>
> Modified: lld/trunk/lib/Driver/CoreDriver.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/CoreDriver.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/Driver/CoreDriver.cpp (original)
> +++ lld/trunk/lib/Driver/CoreDriver.cpp Thu Jan 15 02:46:36 2015
> @@ -103,8 +103,6 @@ bool CoreDriver::parse(int argc, const c
> return false;
> }
>
> - std::unique_ptr<InputGraph> inputGraph(new InputGraph());
> -
> // Set default options
> ctx.setOutputPath("-");
> ctx.setDeadStripping(false);
> @@ -153,7 +151,7 @@ bool CoreDriver::parse(int argc, const c
> std::vector<std::unique_ptr<File>> files
> = loadFile(ctx, inputArg->getValue(), false);
> for (std::unique_ptr<File> &file : files) {
> - inputGraph->members().push_back(std::unique_ptr<Node>(
> + ctx.getNodes().push_back(std::unique_ptr<Node>(
> new FileNode(std::move(file))));
> }
> break;
> @@ -164,13 +162,11 @@ bool CoreDriver::parse(int argc, const c
> }
> }
>
> - if (inputGraph->members().empty()) {
> + if (ctx.getNodes().empty()) {
> diagnostics << "No input files\n";
> return false;
> }
>
> - ctx.setInputGraph(std::move(inputGraph));
> -
> // Validate the combination of options used.
> return ctx.validate(diagnostics);
> }
>
> Modified: lld/trunk/lib/Driver/DarwinLdDriver.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/DarwinLdDriver.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/Driver/DarwinLdDriver.cpp (original)
> +++ lld/trunk/lib/Driver/DarwinLdDriver.cpp Thu Jan 15 02:46:36 2015
> @@ -113,14 +113,13 @@ static std::string canonicalizePath(Stri
> }
> }
>
> -static void addFile(StringRef path, std::unique_ptr<InputGraph> &inputGraph,
> - MachOLinkingContext &ctx, bool loadWholeArchive,
> +static void addFile(StringRef path, MachOLinkingContext &ctx,
> + bool loadWholeArchive,
> bool upwardDylib, raw_ostream &diag) {
> std::vector<std::unique_ptr<File>> files =
> loadFile(ctx, path, diag, loadWholeArchive, upwardDylib);
> for (std::unique_ptr<File> &file : files)
> - inputGraph->members().push_back(
> - llvm::make_unique<FileNode>(std::move(file)));
> + ctx.getNodes().push_back(llvm::make_unique<FileNode>(std::move(file)));
> }
>
> // Export lists are one symbol per line. Blank lines are ignored.
> @@ -214,7 +213,6 @@ static std::error_code parseOrderFile(St
> // per line. The <dir> prefix is prepended to each partial path.
> //
> static std::error_code loadFileList(StringRef fileListPath,
> - std::unique_ptr<InputGraph> &inputGraph,
> MachOLinkingContext &ctx, bool forceLoad,
> raw_ostream &diagnostics) {
> // If there is a comma, split off <dir>.
> @@ -251,7 +249,7 @@ static std::error_code loadFileList(Stri
> if (ctx.testingFileUsage()) {
> diagnostics << "Found filelist entry " << canonicalizePath(path) << '\n';
> }
> - addFile(path, inputGraph, ctx, forceLoad, false, diagnostics);
> + addFile(path, ctx, forceLoad, false, diagnostics);
> buffer = lineAndRest.second;
> }
> return std::error_code();
> @@ -569,7 +567,6 @@ bool DarwinLdDriver::parse(int argc, con
> ctx.registry().addSupportNativeObjects();
> ctx.registry().addSupportYamlFiles();
> }
> - std::unique_ptr<InputGraph> inputGraph(new InputGraph());
>
> // Now construct the set of library search directories, following ld64's
> // baroque set of accumulated hacks. Mostly, the algorithm constructs
> @@ -793,13 +790,13 @@ bool DarwinLdDriver::parse(int argc, con
> default:
> continue;
> case OPT_INPUT:
> - addFile(arg->getValue(), inputGraph, ctx, globalWholeArchive, false, diagnostics);
> + addFile(arg->getValue(), ctx, globalWholeArchive, false, diagnostics);
> break;
> case OPT_upward_library:
> - addFile(arg->getValue(), inputGraph, ctx, false, true, diagnostics);
> + addFile(arg->getValue(), ctx, false, true, diagnostics);
> break;
> case OPT_force_load:
> - addFile(arg->getValue(), inputGraph, ctx, true, false, diagnostics);
> + addFile(arg->getValue(), ctx, true, false, diagnostics);
> break;
> case OPT_l:
> case OPT_upward_l:
> @@ -813,7 +810,7 @@ bool DarwinLdDriver::parse(int argc, con
> diagnostics << "Found " << (upward ? "upward " : " ") << "library "
> << canonicalizePath(resolvedPath.get()) << '\n';
> }
> - addFile(resolvedPath.get(), inputGraph, ctx, globalWholeArchive, upward, diagnostics);
> + addFile(resolvedPath.get(), ctx, globalWholeArchive, upward, diagnostics);
> break;
> case OPT_framework:
> case OPT_upward_framework:
> @@ -827,10 +824,10 @@ bool DarwinLdDriver::parse(int argc, con
> diagnostics << "Found " << (upward ? "upward " : " ") << "framework "
> << canonicalizePath(resolvedPath.get()) << '\n';
> }
> - addFile(resolvedPath.get(), inputGraph, ctx, globalWholeArchive, upward, diagnostics);
> + addFile(resolvedPath.get(), ctx, globalWholeArchive, upward, diagnostics);
> break;
> case OPT_filelist:
> - if (std::error_code ec = loadFileList(arg->getValue(), inputGraph,
> + if (std::error_code ec = loadFileList(arg->getValue(),
> ctx, globalWholeArchive,
> diagnostics)) {
> diagnostics << "error: " << ec.message()
> @@ -842,13 +839,11 @@ bool DarwinLdDriver::parse(int argc, con
> }
> }
>
> - if (inputGraph->members().empty()) {
> + if (ctx.getNodes().empty()) {
> diagnostics << "No input files\n";
> return false;
> }
>
> - ctx.setInputGraph(std::move(inputGraph));
> -
> // Validate the combination of options used.
> return ctx.validate(diagnostics);
> }
>
> Modified: lld/trunk/lib/Driver/Driver.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/Driver.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/Driver/Driver.cpp (original)
> +++ lld/trunk/lib/Driver/Driver.cpp Thu Jan 15 02:46:36 2015
> @@ -74,8 +74,7 @@ bool Driver::link(LinkingContext &contex
> args[numArgs + 1] = 0;
> llvm::cl::ParseCommandLineOptions(numArgs + 1, args);
> }
> - InputGraph &inputGraph = context.getInputGraph();
> - if (inputGraph.members().empty())
> + if (context.getNodes().empty())
> return false;
>
> bool fail = false;
> @@ -84,7 +83,7 @@ bool Driver::link(LinkingContext &contex
> ScopedTask readTask(getDefaultDomain(), "Read Args");
> TaskGroup tg;
> std::mutex diagnosticsMutex;
> - for (std::unique_ptr<Node> &ie : inputGraph.members()) {
> + for (std::unique_ptr<Node> &ie : context.getNodes()) {
> tg.spawn([&] {
> // Writes to the same output stream is not guaranteed to be thread-safe.
> // We buffer the diagnostics output to a separate string-backed output
> @@ -118,7 +117,7 @@ bool Driver::link(LinkingContext &contex
> std::vector<std::unique_ptr<File>> internalFiles;
> context.createInternalFiles(internalFiles);
> for (auto i = internalFiles.rbegin(), e = internalFiles.rend(); i != e; ++i) {
> - auto &members = context.getInputGraph().members();
> + auto &members = context.getNodes();
> members.insert(members.begin(), llvm::make_unique<FileNode>(std::move(*i)));
> }
>
> @@ -126,7 +125,7 @@ bool Driver::link(LinkingContext &contex
> std::vector<std::unique_ptr<File>> implicitFiles;
> context.createImplicitFiles(implicitFiles);
> for (auto i = implicitFiles.rbegin(), e = implicitFiles.rend(); i != e; ++i) {
> - auto &members = context.getInputGraph().members();
> + auto &members = context.getNodes();
> members.insert(members.begin(), llvm::make_unique<FileNode>(std::move(*i)));
> }
>
>
> Modified: lld/trunk/lib/Driver/GnuLdDriver.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/GnuLdDriver.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/Driver/GnuLdDriver.cpp (original)
> +++ lld/trunk/lib/Driver/GnuLdDriver.cpp Thu Jan 15 02:46:36 2015
> @@ -111,7 +111,6 @@ maybeExpandResponseFiles(int argc, const
> return std::make_tuple(argc, copy);
> }
>
> -// Get the Input file magic for creating appropriate InputGraph nodes.
> static std::error_code
> getFileMagic(StringRef path, llvm::sys::fs::file_magic &magic) {
> std::error_code ec = llvm::sys::fs::identify_magic(path, magic);
> @@ -234,8 +233,8 @@ static bool isPathUnderSysroot(StringRef
> }
>
> static std::error_code
> -evaluateLinkerScript(ELFLinkingContext &ctx, InputGraph *inputGraph,
> - StringRef path, raw_ostream &diag) {
> +evaluateLinkerScript(ELFLinkingContext &ctx, StringRef path,
> + raw_ostream &diag) {
> // Read the script file from disk and parse.
> ErrorOr<std::unique_ptr<MemoryBuffer>> mb =
> MemoryBuffer::getFileOrSTDIN(path);
> @@ -274,12 +273,12 @@ evaluateLinkerScript(ELFLinkingContext &
> for (std::unique_ptr<File> &file : files) {
> if (ctx.logInputFiles())
> diag << file->path() << "\n";
> - inputGraph->members().push_back(
> + ctx.getNodes().push_back(
> std::unique_ptr<Node>(new FileNode(std::move(file))));
> ++numfiles;
> }
> }
> - inputGraph->members().push_back(llvm::make_unique<GroupEnd>(numfiles));
> + ctx.getNodes().push_back(llvm::make_unique<GroupEnd>(numfiles));
> }
> return std::error_code();
> }
> @@ -355,7 +354,6 @@ bool GnuLdDriver::parse(int argc, const
> return false;
> }
>
> - std::unique_ptr<InputGraph> inputGraph(new InputGraph());
> std::stack<int> groupStack;
> int numfiles = 0;
>
> @@ -550,7 +548,7 @@ bool GnuLdDriver::parse(int argc, const
> return false;
> }
> int startGroupPos = groupStack.top();
> - inputGraph->members().push_back(
> + ctx->getNodes().push_back(
> llvm::make_unique<GroupEnd>(numfiles - startGroupPos));
> groupStack.pop();
> break;
> @@ -601,8 +599,7 @@ bool GnuLdDriver::parse(int argc, const
> if (isScript) {
> if (ctx->logInputFiles())
> diagnostics << path << "\n";
> - std::error_code ec = evaluateLinkerScript(
> - *ctx, inputGraph.get(), realpath, diagnostics);
> + std::error_code ec = evaluateLinkerScript(*ctx, realpath, diagnostics);
> if (ec) {
> diagnostics << path << ": Error parsing linker script: "
> << ec.message() << "\n";
> @@ -615,7 +612,7 @@ bool GnuLdDriver::parse(int argc, const
> for (std::unique_ptr<File> &file : files) {
> if (ctx->logInputFiles())
> diagnostics << file->path() << "\n";
> - inputGraph->members().push_back(
> + ctx->getNodes().push_back(
> std::unique_ptr<Node>(new FileNode(std::move(file))));
> }
> numfiles += files.size();
> @@ -667,7 +664,7 @@ bool GnuLdDriver::parse(int argc, const
> } // end switch on option ID
> } // end for
>
> - if (inputGraph->members().empty()) {
> + if (ctx->getNodes().empty()) {
> diagnostics << "No input files\n";
> return false;
> }
> @@ -692,7 +689,6 @@ bool GnuLdDriver::parse(int argc, const
> if (!ctx->validate(diagnostics))
> return false;
>
> - ctx->setInputGraph(std::move(inputGraph));
> context.swap(ctx);
> return true;
> }
>
> Modified: lld/trunk/lib/Driver/WinLinkDriver.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/WinLinkDriver.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/Driver/WinLinkDriver.cpp (original)
> +++ lld/trunk/lib/Driver/WinLinkDriver.cpp Thu Jan 15 02:46:36 2015
> @@ -799,9 +799,9 @@ parseArgs(int argc, const char **argv, P
>
> // Returns true if the given file node has already been added to the input
> // graph.
> -static bool hasLibrary(const PECOFFLinkingContext &ctx, File *file) {
> +static bool hasLibrary(PECOFFLinkingContext &ctx, File *file) {
> StringRef path = file->path();
> - for (std::unique_ptr<Node> &p : ctx.getInputGraph().members())
> + for (std::unique_ptr<Node> &p : ctx.getNodes())
> if (auto *f = dyn_cast<FileNode>(p.get()))
> if (f->getFile()->path() == path)
> return true;
> @@ -1409,21 +1409,19 @@ bool WinLinkDriver::parse(int argc, cons
> }
>
> // Add the input files to the input graph.
> - if (!ctx.hasInputGraph())
> - ctx.setInputGraph(std::unique_ptr<InputGraph>(new InputGraph()));
> for (std::unique_ptr<File> &file : files) {
> if (isReadingDirectiveSection)
> if (file->parse())
> return false;
> ctx.getResolvableSymsFile()->add(file.get());
> - ctx.getInputGraph().members().push_back(
> + ctx.getNodes().push_back(
> std::unique_ptr<Node>(new FileNode(std::move(file))));
> }
>
> // Add the library group to the input graph.
> if (!isReadingDirectiveSection) {
> // Add a group-end marker.
> - ctx.getInputGraph().members().push_back(llvm::make_unique<GroupEnd>(0));
> + ctx.getNodes().push_back(llvm::make_unique<GroupEnd>(0));
> }
>
> // Add the library files to the library group.
>
> Modified: lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp (original)
> +++ lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp Thu Jan 15 02:46:36 2015
> @@ -946,8 +946,7 @@ static bool isLibrary(const std::unique_
> // so that the Resolver will reiterate over the libraries as long as we find
> // new undefines from libraries.
> void MachOLinkingContext::maybeSortInputFiles() {
> - std::vector<std::unique_ptr<Node>> &elements
> - = getInputGraph().members();
> + std::vector<std::unique_ptr<Node>> &elements = getNodes();
> std::stable_sort(elements.begin(), elements.end(),
> [](const std::unique_ptr<Node> &a,
> const std::unique_ptr<Node> &b) {
>
> Modified: lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp (original)
> +++ lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp Thu Jan 15 02:46:36 2015
> @@ -90,8 +90,7 @@ std::unique_ptr<File> PECOFFLinkingConte
> void PECOFFLinkingContext::addLibraryFile(std::unique_ptr<FileNode> file) {
> GroupEnd *currentGroupEnd;
> int pos = -1;
> - std::vector<std::unique_ptr<Node>> &elements
> - = getInputGraph().members();
> + std::vector<std::unique_ptr<Node>> &elements = getNodes();
> for (int i = 0, e = elements.size(); i < e; ++i) {
> if ((currentGroupEnd = dyn_cast<GroupEnd>(elements[i].get()))) {
> pos = i;
> @@ -107,8 +106,7 @@ void PECOFFLinkingContext::addLibraryFil
> bool PECOFFLinkingContext::createImplicitFiles(
> std::vector<std::unique_ptr<File>> &) {
> pecoff::ResolvableSymbols* syms = getResolvableSymsFile();
> - std::vector<std::unique_ptr<Node>> &members
> - = getInputGraph().members();
> + std::vector<std::unique_ptr<Node>> &members = getNodes();
>
> // Create a file for the entry point function.
> std::unique_ptr<FileNode> entry(new FileNode(
>
> Modified: lld/trunk/unittests/DriverTests/DriverTest.h
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/unittests/DriverTests/DriverTest.h?rev=226149&r1=226148&r2=226149&view=diff
> ==============================================================================
> --- lld/trunk/unittests/DriverTests/DriverTest.h (original)
> +++ lld/trunk/unittests/DriverTests/DriverTest.h Thu Jan 15 02:46:36 2015
> @@ -27,12 +27,12 @@ protected:
>
> // Convenience method for getting number of input files.
> int inputFileCount() {
> - return linkingContext()->getInputGraph().members().size();
> + return linkingContext()->getNodes().size();
> }
>
> // Convenience method for getting i'th input files name.
> std::string inputFile(int index) {
> - Node &node = *linkingContext()->getInputGraph().members()[index];
> + Node &node = *linkingContext()->getNodes()[index];
> if (node.kind() == Node::Kind::File)
> return cast<FileNode>(&node)->getFile()->path();
> llvm_unreachable("not handling other types of input files");
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list