[lld] r322148 - [WebAssembly] Add InputChunk as common base class for InputSegment and InputFunction. NFC.

Sam Clegg via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 9 17:13:35 PST 2018


Author: sbc
Date: Tue Jan  9 17:13:34 2018
New Revision: 322148

URL: http://llvm.org/viewvc/llvm-project?rev=322148&view=rev
Log:
[WebAssembly] Add InputChunk as common base class for InputSegment and InputFunction. NFC.

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

Added:
    lld/trunk/wasm/InputChunks.cpp   (contents, props changed)
      - copied, changed from r322145, lld/trunk/wasm/InputSegment.cpp
    lld/trunk/wasm/InputChunks.h   (with props)
Removed:
    lld/trunk/wasm/InputFunction.h
    lld/trunk/wasm/InputSegment.cpp
    lld/trunk/wasm/InputSegment.h
Modified:
    lld/trunk/wasm/CMakeLists.txt
    lld/trunk/wasm/InputFiles.cpp
    lld/trunk/wasm/InputFiles.h
    lld/trunk/wasm/OutputSections.cpp
    lld/trunk/wasm/OutputSections.h
    lld/trunk/wasm/OutputSegment.h
    lld/trunk/wasm/SymbolTable.cpp
    lld/trunk/wasm/Symbols.cpp
    lld/trunk/wasm/Writer.cpp

Modified: lld/trunk/wasm/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/CMakeLists.txt?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/CMakeLists.txt (original)
+++ lld/trunk/wasm/CMakeLists.txt Tue Jan  9 17:13:34 2018
@@ -4,8 +4,8 @@ add_public_tablegen_target(WasmOptionsTa
 
 add_lld_library(lldWasm
   Driver.cpp
+  InputChunks.cpp
   InputFiles.cpp
-  InputSegment.cpp
   OutputSections.cpp
   SymbolTable.cpp
   Symbols.cpp

Copied: lld/trunk/wasm/InputChunks.cpp (from r322145, lld/trunk/wasm/InputSegment.cpp)
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputChunks.cpp?p2=lld/trunk/wasm/InputChunks.cpp&p1=lld/trunk/wasm/InputSegment.cpp&r1=322145&r2=322148&rev=322148&view=diff
==============================================================================
--- lld/trunk/wasm/InputSegment.cpp (original)
+++ lld/trunk/wasm/InputChunks.cpp Tue Jan  9 17:13:34 2018
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "InputSegment.h"
+#include "InputChunks.h"
 #include "OutputSegment.h"
 #include "lld/Common/LLVM.h"
 
@@ -18,8 +18,16 @@ using namespace lld::wasm;
 
 uint32_t InputSegment::translateVA(uint32_t Address) const {
   assert(Address >= startVA() && Address < endVA());
-  int32_t Delta = OutputSeg->StartVA + OutputSegmentOffset - startVA();
+  int32_t Delta = OutputSeg->StartVA + OutputOffset - startVA();
   DEBUG(dbgs() << "translateVA: " << getName() << " Delta=" << Delta
                << " Address=" << Address << "\n");
   return Address + Delta;
 }
+
+void InputChunk::copyRelocations(const WasmSection &Section) {
+  size_t Start = getInputSectionOffset();
+  size_t Size = getSize();
+  for (const WasmRelocation &R : Section.Relocations)
+    if (R.Offset >= Start && R.Offset < Start + Size)
+      Relocations.push_back(R);
+}

Propchange: lld/trunk/wasm/InputChunks.cpp
------------------------------------------------------------------------------
    svn:eol-style = LF

Added: lld/trunk/wasm/InputChunks.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputChunks.h?rev=322148&view=auto
==============================================================================
--- lld/trunk/wasm/InputChunks.h (added)
+++ lld/trunk/wasm/InputChunks.h Tue Jan  9 17:13:34 2018
@@ -0,0 +1,125 @@
+//===- InputChunks.h --------------------------------------------*- C++ -*-===//
+//
+//                             The LLVM Linker
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// An input chunk represents an indivisible blocks of code or data from an input
+// file.  i.e. a single wasm data segment or a single wasm function.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLD_WASM_INPUT_CHUNKS_H
+#define LLD_WASM_INPUT_CHUNKS_H
+
+#include "InputFiles.h"
+#include "WriterUtils.h"
+#include "lld/Common/ErrorHandler.h"
+#include "llvm/Object/Wasm.h"
+
+using llvm::object::WasmSegment;
+using llvm::wasm::WasmFunction;
+using llvm::wasm::WasmRelocation;
+using llvm::wasm::WasmSignature;
+using llvm::object::WasmSection;
+
+namespace lld {
+namespace wasm {
+
+class ObjFile;
+class OutputSegment;
+
+class InputChunk {
+public:
+  InputChunk(const ObjFile &F) : File(F) {}
+  virtual ~InputChunk() = default;
+  void copyRelocations(const WasmSection &Section);
+
+  virtual const uint8_t *getData() const = 0;
+  virtual uint32_t getSize() const = 0;
+  virtual uint32_t getInputSectionOffset() const = 0;
+
+  int32_t OutputOffset = 0;
+  std::vector<WasmRelocation> Relocations;
+  std::vector<OutputRelocation> OutRelocations;
+  const ObjFile &File;
+};
+
+// Represents a WebAssembly data segment which can be included as part of
+// an output data segments.  Note that in WebAssembly, unlike ELF and other
+// formats, used the term "data segment" to refer to the continous regions of
+// memory that make on the data section. See:
+// https://webassembly.github.io/spec/syntax/modules.html#syntax-data
+//
+// For example, by default, clang will produce a separate data section for
+// each global variable.
+class InputSegment : public InputChunk {
+public:
+  InputSegment(const WasmSegment &Seg, const ObjFile &F)
+      : InputChunk(F), Segment(Seg) {}
+
+  // Translate an offset in the input segment to an offset in the output
+  // segment.
+  uint32_t translateVA(uint32_t Address) const;
+
+  const OutputSegment *getOutputSegment() const { return OutputSeg; }
+
+  void setOutputSegment(const OutputSegment *Segment, uint32_t Offset) {
+    OutputSeg = Segment;
+    OutputOffset = Offset;
+  }
+
+  const uint8_t *getData() const override {
+    return Segment.Data.Content.data();
+  }
+  uint32_t getSize() const override { return Segment.Data.Content.size(); }
+  uint32_t getInputSectionOffset() const override {
+    return Segment.SectionOffset;
+  }
+  uint32_t getAlignment() const { return Segment.Data.Alignment; }
+  uint32_t startVA() const { return Segment.Data.Offset.Value.Int32; }
+  uint32_t endVA() const { return startVA() + getSize(); }
+  StringRef getName() const { return Segment.Data.Name; }
+
+protected:
+  const WasmSegment &Segment;
+  const OutputSegment *OutputSeg = nullptr;
+};
+
+// Represents a single wasm function within and input file.  These are
+// combined to create the final output CODE section.
+class InputFunction : public InputChunk {
+public:
+  InputFunction(const WasmSignature &S, const WasmFunction &Func,
+                const ObjFile &F)
+      : InputChunk(F), Signature(S), Function(Func) {}
+
+  uint32_t getSize() const override { return Function.Size; }
+  const uint8_t *getData() const override {
+    return File.CodeSection->Content.data() + Function.CodeSectionOffset;
+  }
+  uint32_t getInputSectionOffset() const override {
+    return Function.CodeSectionOffset;
+  };
+
+  uint32_t getOutputIndex() const { return OutputIndex.getValue(); };
+  bool hasOutputIndex() const { return OutputIndex.hasValue(); };
+  void setOutputIndex(uint32_t Index) {
+    assert(!hasOutputIndex());
+    OutputIndex = Index;
+  };
+
+  const WasmSignature &Signature;
+
+protected:
+  const WasmFunction &Function;
+  llvm::Optional<uint32_t> OutputIndex;
+};
+
+} // namespace wasm
+} // namespace lld
+
+#endif // LLD_WASM_INPUT_CHUNKS_H

Propchange: lld/trunk/wasm/InputChunks.h
------------------------------------------------------------------------------
    svn:eol-style = LF

Modified: lld/trunk/wasm/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputFiles.cpp?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/InputFiles.cpp (original)
+++ lld/trunk/wasm/InputFiles.cpp Tue Jan  9 17:13:34 2018
@@ -10,8 +10,7 @@
 #include "InputFiles.h"
 
 #include "Config.h"
-#include "InputFunction.h"
-#include "InputSegment.h"
+#include "InputChunks.h"
 #include "SymbolTable.h"
 #include "lld/Common/ErrorHandler.h"
 #include "lld/Common/Memory.h"
@@ -126,14 +125,6 @@ InputSegment *ObjFile::getSegment(const
   return nullptr;
 }
 
-static void copyRelocationsRange(std::vector<WasmRelocation> &To,
-                                 ArrayRef<WasmRelocation> From, size_t Start,
-                                 size_t Size) {
-  for (const WasmRelocation &R : From)
-    if (R.Offset >= Start && R.Offset < Start + Size)
-      To.push_back(R);
-}
-
 // Get the value stored in the wasm global represented by this symbol.
 // This represents the virtual address of the symbol in the input file.
 uint32_t ObjFile::getGlobalValue(const WasmSymbol &Sym) const {
@@ -175,8 +166,7 @@ void ObjFile::initializeSymbols() {
 
   for (const WasmSegment &S : WasmObj->dataSegments()) {
     InputSegment *Seg = make<InputSegment>(S, *this);
-    copyRelocationsRange(Seg->Relocations, DataSection->Relocations,
-                         Seg->getInputSectionOffset(), Seg->getSize());
+    Seg->copyRelocations(*DataSection);
     Segments.emplace_back(Seg);
   }
 
@@ -186,10 +176,9 @@ void ObjFile::initializeSymbols() {
   for (size_t I = 0; I < Funcs.size(); ++I) {
     const WasmFunction &Func = Funcs[I];
     const WasmSignature &Sig = Types[FuncTypes[I]];
-    InputFunction *Function = make<InputFunction>(Sig, Func, *this);
-    copyRelocationsRange(Function->Relocations, CodeSection->Relocations,
-                         Func.CodeSectionOffset, Func.Size);
-    Functions.emplace_back(Function);
+    InputFunction *F = make<InputFunction>(Sig, Func, *this);
+    F->copyRelocations(*CodeSection);
+    Functions.emplace_back(F);
   }
 
   // Populate `FunctionSymbols` and `GlobalSymbols` based on the WasmSymbols

Modified: lld/trunk/wasm/InputFiles.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputFiles.h?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/InputFiles.h (original)
+++ lld/trunk/wasm/InputFiles.h Tue Jan  9 17:13:34 2018
@@ -98,6 +98,7 @@ public:
   uint32_t getRelocatedAddress(uint32_t Index) const;
 
   const WasmSection *CodeSection = nullptr;
+  const WasmSection *DataSection = nullptr;
 
   std::vector<uint32_t> TypeMap;
   std::vector<InputSegment *> Segments;
@@ -131,7 +132,6 @@ private:
   // List of all indirect symbols indexed by table index space.
   std::vector<Symbol *> TableSymbols;
 
-  const WasmSection *DataSection = nullptr;
   uint32_t NumGlobalImports = 0;
   uint32_t NumFunctionImports = 0;
   std::unique_ptr<WasmObjectFile> WasmObj;

Removed: lld/trunk/wasm/InputFunction.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputFunction.h?rev=322147&view=auto
==============================================================================
--- lld/trunk/wasm/InputFunction.h (original)
+++ lld/trunk/wasm/InputFunction.h (removed)
@@ -1,57 +0,0 @@
-//===- InpuFunction.h -------------------------------------------*- C++ -*-===//
-//
-//                             The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Represents a WebAssembly function in an input file which could also be
-// assigned a function index in the output.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLD_WASM_INPUT_FUNCTION_H
-#define LLD_WASM_INPUT_FUNCTION_H
-
-#include "WriterUtils.h"
-#include "llvm/Object/Wasm.h"
-
-using llvm::wasm::WasmRelocation;
-using llvm::wasm::WasmFunction;
-
-namespace lld {
-namespace wasm {
-
-class ObjFile;
-
-class InputFunction {
-public:
-  InputFunction(const WasmSignature &S, const WasmFunction &Func,
-                const ObjFile &F)
-      : Signature(S), Function(Func), File(F) {}
-
-  uint32_t getOutputIndex() const { return OutputIndex.getValue(); };
-  bool hasOutputIndex() const { return OutputIndex.hasValue(); };
-
-  void setOutputIndex(uint32_t Index) {
-    assert(!hasOutputIndex());
-    OutputIndex = Index;
-  };
-
-  const WasmSignature &Signature;
-  const WasmFunction &Function;
-  int32_t OutputOffset = 0;
-  std::vector<WasmRelocation> Relocations;
-  std::vector<OutputRelocation> OutRelocations;
-  const ObjFile &File;
-
-protected:
-  llvm::Optional<uint32_t> OutputIndex;
-};
-
-} // namespace wasm
-} // namespace lld
-
-#endif // LLD_WASM_INPUT_FUNCTION_H

Removed: lld/trunk/wasm/InputSegment.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputSegment.cpp?rev=322147&view=auto
==============================================================================
--- lld/trunk/wasm/InputSegment.cpp (original)
+++ lld/trunk/wasm/InputSegment.cpp (removed)
@@ -1,25 +0,0 @@
-//===- InputSegment.cpp ---------------------------------------------------===//
-//
-//                             The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "InputSegment.h"
-#include "OutputSegment.h"
-#include "lld/Common/LLVM.h"
-
-#define DEBUG_TYPE "lld"
-
-using namespace llvm;
-using namespace lld::wasm;
-
-uint32_t InputSegment::translateVA(uint32_t Address) const {
-  assert(Address >= startVA() && Address < endVA());
-  int32_t Delta = OutputSeg->StartVA + OutputSegmentOffset - startVA();
-  DEBUG(dbgs() << "translateVA: " << getName() << " Delta=" << Delta
-               << " Address=" << Address << "\n");
-  return Address + Delta;
-}

Removed: lld/trunk/wasm/InputSegment.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputSegment.h?rev=322147&view=auto
==============================================================================
--- lld/trunk/wasm/InputSegment.h (original)
+++ lld/trunk/wasm/InputSegment.h (removed)
@@ -1,76 +0,0 @@
-//===- InputSegment.h -------------------------------------------*- C++ -*-===//
-//
-//                             The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Represents a WebAssembly data segment which can be included as part of
-// an output data segments.  Note that in WebAssembly, unlike ELF and other
-// formats, used the term "data segment" to refer to the continous regions of
-// memory that make on the data section. See:
-// https://webassembly.github.io/spec/syntax/modules.html#syntax-data
-//
-// For example, by default, clang will produce a separate data section for
-// each global variable.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLD_WASM_INPUT_SEGMENT_H
-#define LLD_WASM_INPUT_SEGMENT_H
-
-#include "WriterUtils.h"
-#include "lld/Common/ErrorHandler.h"
-#include "llvm/Object/Wasm.h"
-
-using llvm::object::WasmSegment;
-using llvm::wasm::WasmRelocation;
-
-namespace lld {
-namespace wasm {
-
-class ObjFile;
-class OutputSegment;
-
-class InputSegment {
-public:
-  InputSegment(const WasmSegment &Seg, const ObjFile &F)
-      : Segment(Seg), File(F) {}
-
-  // Translate an offset in the input segment to an offset in the output
-  // segment.
-  uint32_t translateVA(uint32_t Address) const;
-
-  const OutputSegment *getOutputSegment() const { return OutputSeg; }
-
-  uint32_t getOutputSegmentOffset() const { return OutputSegmentOffset; }
-
-  uint32_t getInputSectionOffset() const { return Segment.SectionOffset; }
-
-  void setOutputSegment(const OutputSegment *Segment, uint32_t Offset) {
-    OutputSeg = Segment;
-    OutputSegmentOffset = Offset;
-  }
-
-  uint32_t getSize() const { return Segment.Data.Content.size(); }
-  uint32_t getAlignment() const { return Segment.Data.Alignment; }
-  uint32_t startVA() const { return Segment.Data.Offset.Value.Int32; }
-  uint32_t endVA() const { return startVA() + getSize(); }
-  StringRef getName() const { return Segment.Data.Name; }
-
-  const WasmSegment &Segment;
-  const ObjFile &File;
-  std::vector<WasmRelocation> Relocations;
-  std::vector<OutputRelocation> OutRelocations;
-
-protected:
-  const OutputSegment *OutputSeg = nullptr;
-  uint32_t OutputSegmentOffset = 0;
-};
-
-} // namespace wasm
-} // namespace lld
-
-#endif // LLD_WASM_INPUT_SEGMENT_H

Modified: lld/trunk/wasm/OutputSections.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/OutputSections.cpp?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/OutputSections.cpp (original)
+++ lld/trunk/wasm/OutputSections.cpp Tue Jan  9 17:13:34 2018
@@ -10,8 +10,8 @@
 #include "OutputSections.h"
 
 #include "Config.h"
+#include "InputChunks.h"
 #include "InputFiles.h"
-#include "InputFunction.h"
 #include "OutputSegment.h"
 #include "SymbolTable.h"
 #include "lld/Common/ErrorHandler.h"
@@ -202,11 +202,11 @@ CodeSection::CodeSection(ArrayRef<InputF
   OS.flush();
   BodySize = CodeSectionHeader.size();
 
-  for (InputFunction *Func : Functions) {
+  for (InputChunk *Func : Functions) {
     Func->OutputOffset = BodySize;
     calcRelocations(Func->File, Func->Relocations, Func->OutRelocations,
-                    Func->OutputOffset - Func->Function.CodeSectionOffset);
-    BodySize += Func->Function.Size;
+                    Func->OutputOffset - Func->getInputSectionOffset());
+    BodySize += Func->getSize();
   }
 
   createHeader(BodySize);
@@ -230,24 +230,22 @@ void CodeSection::writeTo(uint8_t *Buf)
   Buf += CodeSectionHeader.size();
 
   // Write code section bodies
-  parallelForEach(Functions, [ContentsStart](InputFunction *Func) {
-    ArrayRef<uint8_t> Content(Func->File.CodeSection->Content);
-    memcpy(ContentsStart + Func->OutputOffset,
-           Content.data() + Func->Function.CodeSectionOffset,
-           Func->Function.Size);
+  parallelForEach(Functions, [ContentsStart](InputChunk *Func) {
+    memcpy(ContentsStart + Func->OutputOffset, Func->getData(),
+           Func->getSize());
     applyRelocations(ContentsStart, Func->OutRelocations);
   });
 }
 
 uint32_t CodeSection::numRelocations() const {
   uint32_t Count = 0;
-  for (const InputFunction *Func : Functions)
+  for (const InputChunk *Func : Functions)
     Count += Func->OutRelocations.size();
   return Count;
 }
 
 void CodeSection::writeRelocations(raw_ostream &OS) const {
-  for (const InputFunction *Func : Functions)
+  for (const InputChunk *Func : Functions)
     for (const OutputRelocation &Reloc : Func->OutRelocations)
       writeReloc(OS, Reloc);
 }
@@ -271,13 +269,12 @@ DataSection::DataSection(ArrayRef<Output
     Segment->setSectionOffset(BodySize);
     BodySize += Segment->Header.size();
     log("Data segment: size=" + Twine(Segment->Size));
-    for (InputSegment *InputSeg : Segment->InputSegments) {
-      uint32_t InputOffset = InputSeg->getInputSectionOffset();
+    for (InputChunk *InputSeg : Segment->InputSegments) {
       uint32_t OutputOffset = Segment->getSectionOffset() +
-                              Segment->Header.size() +
-                              InputSeg->getOutputSegmentOffset();
+                              Segment->Header.size() + InputSeg->OutputOffset;
       calcRelocations(InputSeg->File, InputSeg->Relocations,
-                      InputSeg->OutRelocations, OutputOffset - InputOffset);
+                      InputSeg->OutRelocations,
+                      OutputOffset - InputSeg->getInputSectionOffset());
     }
     BodySize += Segment->Size;
   }
@@ -305,11 +302,9 @@ void DataSection::writeTo(uint8_t *Buf)
     memcpy(SegStart, Segment->Header.data(), Segment->Header.size());
 
     // Write segment data payload
-    for (const InputSegment *Input : Segment->InputSegments) {
-      ArrayRef<uint8_t> Content(Input->Segment.Data.Content);
-      memcpy(SegStart + Segment->Header.size() +
-                 Input->getOutputSegmentOffset(),
-             Content.data(), Content.size());
+    for (const InputChunk *Input : Segment->InputSegments) {
+      memcpy(SegStart + Segment->Header.size() + Input->OutputOffset,
+             Input->getData(), Input->getSize());
       applyRelocations(ContentsStart, Input->OutRelocations);
     }
   });
@@ -318,14 +313,14 @@ void DataSection::writeTo(uint8_t *Buf)
 uint32_t DataSection::numRelocations() const {
   uint32_t Count = 0;
   for (const OutputSegment *Seg : Segments)
-    for (const InputSegment *InputSeg : Seg->InputSegments)
+    for (const InputChunk *InputSeg : Seg->InputSegments)
       Count += InputSeg->OutRelocations.size();
   return Count;
 }
 
 void DataSection::writeRelocations(raw_ostream &OS) const {
   for (const OutputSegment *Seg : Segments)
-    for (const InputSegment *InputSeg : Seg->InputSegments)
+    for (const InputChunk *InputSeg : Seg->InputSegments)
       for (const OutputRelocation &Reloc : InputSeg->OutRelocations)
         writeReloc(OS, Reloc);
 }

Modified: lld/trunk/wasm/OutputSections.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/OutputSections.h?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/OutputSections.h (original)
+++ lld/trunk/wasm/OutputSections.h Tue Jan  9 17:13:34 2018
@@ -10,7 +10,7 @@
 #ifndef LLD_WASM_OUTPUT_SECTIONS_H
 #define LLD_WASM_OUTPUT_SECTIONS_H
 
-#include "InputSegment.h"
+#include "InputChunks.h"
 #include "WriterUtils.h"
 #include "lld/Common/ErrorHandler.h"
 #include "llvm/ADT/DenseMap.h"
@@ -28,7 +28,6 @@ std::string toString(const wasm::OutputS
 namespace wasm {
 
 class OutputSegment;
-class InputFunction;
 
 class OutputSection {
 public:

Modified: lld/trunk/wasm/OutputSegment.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/OutputSegment.h?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/OutputSegment.h (original)
+++ lld/trunk/wasm/OutputSegment.h Tue Jan  9 17:13:34 2018
@@ -10,7 +10,7 @@
 #ifndef LLD_WASM_OUTPUT_SEGMENT_H
 #define LLD_WASM_OUTPUT_SEGMENT_H
 
-#include "InputSegment.h"
+#include "InputChunks.h"
 #include "lld/Common/ErrorHandler.h"
 #include "llvm/Object/Wasm.h"
 

Modified: lld/trunk/wasm/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/SymbolTable.cpp?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/SymbolTable.cpp (original)
+++ lld/trunk/wasm/SymbolTable.cpp Tue Jan  9 17:13:34 2018
@@ -10,7 +10,7 @@
 #include "SymbolTable.h"
 
 #include "Config.h"
-#include "InputFunction.h"
+#include "InputChunks.h"
 #include "WriterUtils.h"
 #include "lld/Common/ErrorHandler.h"
 #include "lld/Common/Memory.h"

Modified: lld/trunk/wasm/Symbols.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/Symbols.cpp?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/Symbols.cpp (original)
+++ lld/trunk/wasm/Symbols.cpp Tue Jan  9 17:13:34 2018
@@ -10,9 +10,8 @@
 #include "Symbols.h"
 
 #include "Config.h"
+#include "InputChunks.h"
 #include "InputFiles.h"
-#include "InputFunction.h"
-#include "InputSegment.h"
 #include "lld/Common/ErrorHandler.h"
 #include "lld/Common/Strings.h"
 

Modified: lld/trunk/wasm/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/Writer.cpp?rev=322148&r1=322147&r2=322148&view=diff
==============================================================================
--- lld/trunk/wasm/Writer.cpp (original)
+++ lld/trunk/wasm/Writer.cpp Tue Jan  9 17:13:34 2018
@@ -10,7 +10,7 @@
 #include "Writer.h"
 
 #include "Config.h"
-#include "InputFunction.h"
+#include "InputChunks.h"
 #include "OutputSections.h"
 #include "OutputSegment.h"
 #include "SymbolTable.h"




More information about the llvm-commits mailing list