[all-commits] [llvm/llvm-project] 5a9b25: [lld][WebAssembly] Refactor input chunk class hier...

Sam Clegg via All-commits all-commits at lists.llvm.org
Mon May 17 21:02:13 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5a9b25e15b4f9707245bb9d1ab56ab99b725505a
      https://github.com/llvm/llvm-project/commit/5a9b25e15b4f9707245bb9d1ab56ab99b725505a
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2021-05-17 (Mon, 17 May 2021)

  Changed paths:
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/OutputSections.cpp
    M lld/wasm/OutputSegment.cpp
    M lld/wasm/OutputSegment.h
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/SymbolTable.h
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Refactor input chunk class hierarchy. NFC

The main motivation for this refactor is to remove the subclass
relationship between the InputSegment and MergeInputSegment and
SyntenticMergedInputSegment so that we can use the merging classes for
debug sections which are not data segments.

In the process of refactoring I also remove all the virtual functions
from the class hierarchy and try to reuse techniques used in the ELF
linker (see `lld/ELF/InputSections.h`).

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




More information about the All-commits mailing list