[lld] r233772 - ELF: Remove dead class that does nothing in class hierarchy.

Rui Ueyama ruiu at google.com
Tue Mar 31 16:01:19 PDT 2015


Author: ruiu
Date: Tue Mar 31 18:01:19 2015
New Revision: 233772

URL: http://llvm.org/viewvc/llvm-project?rev=233772&view=rev
Log:
ELF: Remove dead class that does nothing in class hierarchy.

DefaultTargetHandler is the base class of all <Arch>TargetHandler classes,
and it's the only derived class of TargetHandler class.

TargetHandler and DefaultTargetHandler are actually the same. They define
the same set of pure virtual functions. DefaultTargetHandler is a useless
class in the class hierarchy -- it shouldn't have been added in the first place.

This patch makes all <Arch>TargetHandler classes directly derive from
TargetHandler and removes DefaultTargetHandler.

Removed:
    lld/trunk/lib/ReaderWriter/ELF/DefaultTargetHandler.h
Modified:
    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h
    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h
    lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
    lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h
    lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.h
    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h

Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp Tue Mar 31 18:01:19 2015
@@ -17,6 +17,7 @@
 
 using namespace lld;
 using namespace lld::elf;
+using namespace llvm;
 using namespace llvm::support::endian;
 
 #define PAGE(X) ((X) & ~0x0FFFL)

Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.h Tue Mar 31 18:01:19 2015
@@ -13,7 +13,6 @@
 #include "AArch64ELFFile.h"
 #include "AArch64ELFReader.h"
 #include "AArch64RelocationHandler.h"
-#include "DefaultTargetHandler.h"
 #include "TargetLayout.h"
 #include "lld/Core/Simple.h"
 
@@ -26,7 +25,7 @@ public:
   AArch64TargetLayout(AArch64LinkingContext &ctx) : TargetLayout<ELFT>(ctx) {}
 };
 
-class AArch64TargetHandler final : public DefaultTargetHandler<AArch64ELFType> {
+class AArch64TargetHandler final : public TargetHandler<AArch64ELFType> {
 public:
   AArch64TargetHandler(AArch64LinkingContext &ctx);
 

Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h Tue Mar 31 18:01:19 2015
@@ -13,7 +13,6 @@
 #include "ARMELFFile.h"
 #include "ARMELFReader.h"
 #include "ARMRelocationHandler.h"
-#include "DefaultTargetHandler.h"
 #include "TargetLayout.h"
 #include "llvm/ADT/Optional.h"
 
@@ -58,7 +57,7 @@ private:
   llvm::Optional<uint64_t> _tpOff;
 };
 
-class ARMTargetHandler final : public DefaultTargetHandler<ARMELFType> {
+class ARMTargetHandler final : public TargetHandler<ARMELFType> {
 public:
   ARMTargetHandler(ARMLinkingContext &ctx);
 

Removed: lld/trunk/lib/ReaderWriter/ELF/DefaultTargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DefaultTargetHandler.h?rev=233771&view=auto
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/DefaultTargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/DefaultTargetHandler.h (removed)
@@ -1,38 +0,0 @@
-//===- lib/ReaderWriter/ELF/DefaultTargetHandler.h ------------------------===//
-//
-//                             The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLD_READER_WRITER_ELF_DEFAULT_TARGET_HANDLER_H
-#define LLD_READER_WRITER_ELF_DEFAULT_TARGET_HANDLER_H
-
-#include "DefaultLayout.h"
-#include "DynamicLibraryWriter.h"
-#include "ELFReader.h"
-#include "ExecutableWriter.h"
-#include "TargetHandler.h"
-#include "lld/ReaderWriter/ELFLinkingContext.h"
-#include "llvm/ADT/Triple.h"
-#include "llvm/Support/ELF.h"
-
-namespace lld {
-namespace elf {
-template <class ELFT>
-class DefaultTargetHandler : public TargetHandler<ELFT> {
-public:
-  const TargetRelocationHandler &getRelocationHandler() const = 0;
-
-  virtual std::unique_ptr<Reader> getObjReader() = 0;
-
-  virtual std::unique_ptr<Reader> getDSOReader() = 0;
-
-  virtual std::unique_ptr<Writer> getWriter() = 0;
-};
-
-} // end namespace elf
-} // end namespace lld
-#endif

Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h Tue Mar 31 18:01:19 2015
@@ -10,7 +10,6 @@
 #ifndef HEXAGON_TARGET_HANDLER_H
 #define HEXAGON_TARGET_HANDLER_H
 
-#include "DefaultTargetHandler.h"
 #include "HexagonELFReader.h"
 #include "HexagonExecutableAtoms.h"
 #include "HexagonRelocationHandler.h"
@@ -97,8 +96,7 @@ private:
 };
 
 /// \brief TargetHandler for Hexagon
-class HexagonTargetHandler final :
-    public DefaultTargetHandler<HexagonELFType> {
+class HexagonTargetHandler final : public TargetHandler<HexagonELFType> {
 public:
   HexagonTargetHandler(HexagonLinkingContext &targetInfo);
 

Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h Tue Mar 31 18:01:19 2015
@@ -9,7 +9,6 @@
 #ifndef LLD_READER_WRITER_ELF_MIPS_MIPS_TARGET_HANDLER_H
 #define LLD_READER_WRITER_ELF_MIPS_MIPS_TARGET_HANDLER_H
 
-#include "DefaultTargetHandler.h"
 #include "MipsDynamicLibraryWriter.h"
 #include "MipsELFReader.h"
 #include "MipsExecutableWriter.h"
@@ -101,7 +100,7 @@ public:
 
 /// \brief TargetHandler for Mips
 template <class ELFT>
-class MipsTargetHandler final : public DefaultTargetHandler<ELFT> {
+class MipsTargetHandler final : public TargetHandler<ELFT> {
 public:
   MipsTargetHandler(MipsLinkingContext &ctx)
       : _ctx(ctx), _runtimeFile(new MipsRuntimeFile<ELFT>(ctx)),

Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.h?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/X86/X86TargetHandler.h Tue Mar 31 18:01:19 2015
@@ -10,7 +10,6 @@
 #ifndef LLD_READER_WRITER_ELF_X86_TARGET_HANDLER_H
 #define LLD_READER_WRITER_ELF_X86_TARGET_HANDLER_H
 
-#include "DefaultTargetHandler.h"
 #include "TargetLayout.h"
 #include "X86ELFFile.h"
 #include "X86ELFReader.h"
@@ -26,8 +25,7 @@ public:
   X86TargetLayout(X86LinkingContext &ctx) : TargetLayout<ELFT>(ctx) {}
 };
 
-class X86TargetHandler final
-    : public DefaultTargetHandler<X86ELFType> {
+class X86TargetHandler final : public TargetHandler<X86ELFType> {
 public:
   X86TargetHandler(X86LinkingContext &ctx);
 

Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h?rev=233772&r1=233771&r2=233772&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h Tue Mar 31 18:01:19 2015
@@ -10,7 +10,6 @@
 #ifndef LLD_READER_WRITER_ELF_X86_64_X86_64_TARGET_HANDLER_H
 #define LLD_READER_WRITER_ELF_X86_64_X86_64_TARGET_HANDLER_H
 
-#include "DefaultTargetHandler.h"
 #include "TargetLayout.h"
 #include "X86_64ELFFile.h"
 #include "X86_64ELFReader.h"
@@ -30,8 +29,7 @@ public:
   }
 };
 
-class X86_64TargetHandler
-    : public DefaultTargetHandler<X86_64ELFType> {
+class X86_64TargetHandler : public TargetHandler<X86_64ELFType> {
 public:
   X86_64TargetHandler(X86_64LinkingContext &ctx);
 





More information about the llvm-commits mailing list