summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/include/lld/Passes/RoundTripNativePass.h39
-rw-r--r--lld/include/lld/Passes/RoundTripYAMLPass.h39
-rw-r--r--lld/lib/CMakeLists.txt1
-rw-r--r--lld/lib/Driver/CMakeLists.txt1
-rw-r--r--lld/lib/Driver/Driver.cpp13
-rw-r--r--lld/lib/Passes/CMakeLists.txt9
-rw-r--r--lld/lib/Passes/Makefile13
-rw-r--r--lld/lib/Passes/RoundTripNativePass.cpp53
-rw-r--r--lld/lib/Passes/RoundTripYAMLPass.cpp53
-rw-r--r--lld/lib/ReaderWriter/CMakeLists.txt1
-rw-r--r--lld/lib/ReaderWriter/CoreLinkingContext.cpp1
-rw-r--r--lld/lib/ReaderWriter/ELF/CMakeLists.txt1
-rw-r--r--lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp1
-rw-r--r--lld/lib/ReaderWriter/ELF/Makefile1
-rw-r--r--lld/lib/ReaderWriter/MachO/CMakeLists.txt1
-rw-r--r--lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp1
-rw-r--r--lld/lib/ReaderWriter/PECOFF/CMakeLists.txt1
-rw-r--r--lld/test/elf/Mips/pc23-range.test3
-rw-r--r--lld/test/elf/roundtrip.test11
-rw-r--r--lld/test/lit.cfg3
-rw-r--r--lld/tools/lld/Makefile2
-rw-r--r--lld/unittests/DriverTests/Makefile2
22 files changed, 3 insertions, 247 deletions
diff --git a/lld/include/lld/Passes/RoundTripNativePass.h b/lld/include/lld/Passes/RoundTripNativePass.h
deleted file mode 100644
index 796fee8660c..00000000000
--- a/lld/include/lld/Passes/RoundTripNativePass.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//===--Passes/RoundTripNativePass.h - Write Native file/Read it back------===//
-//
-// The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLD_PASSES_ROUND_TRIP_NATIVE_PASS_H
-#define LLD_PASSES_ROUND_TRIP_NATIVE_PASS_H
-
-#include "lld/Core/File.h"
-#include "lld/Core/LinkingContext.h"
-#include "lld/Core/Pass.h"
-#include <vector>
-
-namespace lld {
-class RoundTripNativePass : public Pass {
-public:
- RoundTripNativePass(LinkingContext &context) : Pass(), _context(context) {}
-
- /// Writes to a native file and reads the atoms from the native file back.
- /// Replaces mergedFile with the contents of the native File.
- void perform(std::unique_ptr<MutableFile> &mergedFile) override;
-
- virtual ~RoundTripNativePass() {}
-
-private:
- LinkingContext &_context;
- // Keep the parsed file alive for the rest of the link. All atoms
- // that are created by the RoundTripNativePass are owned by the
- // nativeFile.
- std::vector<std::unique_ptr<File> > _nativeFile;
-};
-
-} // namespace lld
-
-#endif // LLD_PASSES_ROUND_TRIP_NATIVE_PASS_H
diff --git a/lld/include/lld/Passes/RoundTripYAMLPass.h b/lld/include/lld/Passes/RoundTripYAMLPass.h
deleted file mode 100644
index 7f05673c9d0..00000000000
--- a/lld/include/lld/Passes/RoundTripYAMLPass.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//===--Passes/RoundTripYAMLPass.h- Write YAML file/Read it back-----------===//
-//
-// The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLD_PASSES_ROUND_TRIP_YAML_PASS_H
-#define LLD_PASSES_ROUND_TRIP_YAML_PASS_H
-
-#include "lld/Core/File.h"
-#include "lld/Core/LinkingContext.h"
-#include "lld/Core/Pass.h"
-#include <vector>
-
-namespace lld {
-class RoundTripYAMLPass : public Pass {
-public:
- RoundTripYAMLPass(LinkingContext &context) : Pass(), _context(context) {}
-
- /// Writes to a YAML file and reads the atoms from the YAML file back.
- /// Replaces the mergedFile with new contents.
- void perform(std::unique_ptr<MutableFile> &mergedFile) override;
-
- virtual ~RoundTripYAMLPass() {}
-
-private:
- LinkingContext &_context;
- // Keep the parsed file alive for the rest of the link. All atoms
- // that are created by the RoundTripYAMLPass are owned by the
- // yamlFile.
- std::vector<std::unique_ptr<File> > _yamlFile;
-};
-
-} // namespace lld
-
-#endif // LLD_PASSES_ROUND_TRIP_YAML_PASS_H
diff --git a/lld/lib/CMakeLists.txt b/lld/lib/CMakeLists.txt
index 157099d3c31..699f5e93f8a 100644
--- a/lld/lib/CMakeLists.txt
+++ b/lld/lib/CMakeLists.txt
@@ -1,5 +1,4 @@
add_subdirectory(Config)
add_subdirectory(Core)
add_subdirectory(Driver)
-add_subdirectory(Passes)
add_subdirectory(ReaderWriter)
diff --git a/lld/lib/Driver/CMakeLists.txt b/lld/lib/Driver/CMakeLists.txt
index 7f4e82a4966..5b635fe197f 100644
--- a/lld/lib/Driver/CMakeLists.txt
+++ b/lld/lib/Driver/CMakeLists.txt
@@ -20,7 +20,6 @@ add_llvm_library(lldDriver
WinLinkModuleDef.cpp
LINK_LIBS
lldConfig
- lldPasses
lldMachO
lldPECOFF
lldELF
diff --git a/lld/lib/Driver/Driver.cpp b/lld/lib/Driver/Driver.cpp
index ea494230067..24596dc68a7 100644
--- a/lld/lib/Driver/Driver.cpp
+++ b/lld/lib/Driver/Driver.cpp
@@ -17,8 +17,6 @@
#include "lld/Core/Resolver.h"
#include "lld/Core/Writer.h"
#include "lld/Driver/Driver.h"
-#include "lld/Passes/RoundTripNativePass.h"
-#include "lld/Passes/RoundTripYAMLPass.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Option/Arg.h"
@@ -116,17 +114,6 @@ bool Driver::link(LinkingContext &context, raw_ostream &diagnostics) {
ScopedTask passTask(getDefaultDomain(), "Passes");
PassManager pm;
context.addPasses(pm);
-
-#ifndef NDEBUG
- llvm::Optional<std::string> env =
- llvm::sys::Process::GetEnv("LLD_RUN_ROUNDTRIP_TEST");
-
- if (env.hasValue() && !env.getValue().empty()) {
- pm.add(llvm::make_unique<RoundTripYAMLPass>(context));
- pm.add(llvm::make_unique<RoundTripNativePass>(context));
- }
-#endif
-
pm.runOnFile(merged);
passTask.end();
diff --git a/lld/lib/Passes/CMakeLists.txt b/lld/lib/Passes/CMakeLists.txt
deleted file mode 100644
index e1466ab8422..00000000000
--- a/lld/lib/Passes/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-add_llvm_library(lldPasses
- RoundTripNativePass.cpp
- RoundTripYAMLPass.cpp
- LINK_LIBS
- lldCore
- lldNative
- lldYAML
- LLVMSupport
- )
diff --git a/lld/lib/Passes/Makefile b/lld/lib/Passes/Makefile
deleted file mode 100644
index 255a6df9794..00000000000
--- a/lld/lib/Passes/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-##===- lld/lib/Passes/Makefile ---------------------------*- Makefile -*-===##
-#
-# The LLVM Compiler Infrastructure
-#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-#
-##===----------------------------------------------------------------------===##
-
-LLD_LEVEL := ../..
-LIBRARYNAME := lldPasses
-
-include $(LLD_LEVEL)/Makefile
diff --git a/lld/lib/Passes/RoundTripNativePass.cpp b/lld/lib/Passes/RoundTripNativePass.cpp
deleted file mode 100644
index bb0ee516ffa..00000000000
--- a/lld/lib/Passes/RoundTripNativePass.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//===--Passes/RoundTripNativePass.cpp - Write Native file/Read it back-----===//
-//
-// The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "lld/Core/Instrumentation.h"
-#include "lld/Core/Simple.h"
-#include "lld/Core/Writer.h"
-#include "lld/Passes/RoundTripNativePass.h"
-#include "llvm/Support/Debug.h"
-#include "llvm/Support/Path.h"
-#include <memory>
-
-using namespace lld;
-
-#define DEBUG_TYPE "RoundTripNativePass"
-
-/// Perform the actual pass
-void RoundTripNativePass::perform(std::unique_ptr<MutableFile> &mergedFile) {
- ScopedTask task(getDefaultDomain(), "RoundTripNativePass");
- std::unique_ptr<Writer> nativeWriter = createWriterNative();
- SmallString<128> tmpNativeFile;
- // Separate the directory from the filename
- StringRef outFile = llvm::sys::path::filename(_context.outputPath());
- if (llvm::sys::fs::createTemporaryFile(outFile, "native", tmpNativeFile))
- return;
- DEBUG(llvm::dbgs() << "RoundTripNativePass: " << tmpNativeFile << "\n");
-
- // The file that is written would be kept around if there is a problem
- // writing to the file or when reading atoms back from the file.
- nativeWriter->writeFile(*mergedFile, tmpNativeFile.str());
- ErrorOr<std::unique_ptr<MemoryBuffer>> mb =
- MemoryBuffer::getFile(tmpNativeFile.str());
- if (!mb)
- return;
-
- std::error_code ec = _context.registry().loadFile(
- std::move(mb.get()), _nativeFile);
- if (ec) {
- // Note: we need a way for Passes to report errors.
- llvm_unreachable("native reader not registered or read error");
- }
- File *objFile = _nativeFile[0].get();
- if (objFile->parse())
- llvm_unreachable("native reader parse error");
- mergedFile.reset(new SimpleFile(objFile->path()));
- copyAtoms(mergedFile.get(), objFile);
- llvm::sys::fs::remove(tmpNativeFile.str());
-}
diff --git a/lld/lib/Passes/RoundTripYAMLPass.cpp b/lld/lib/Passes/RoundTripYAMLPass.cpp
deleted file mode 100644
index bca0bad2f67..00000000000
--- a/lld/lib/Passes/RoundTripYAMLPass.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//===--Passes/RoundTripYAMLPass.cpp - Write YAML file/Read it back---------===//
-//
-// The LLVM Linker
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "lld/Core/Instrumentation.h"
-#include "lld/Core/Simple.h"
-#include "lld/Core/Writer.h"
-#include "lld/Passes/RoundTripYAMLPass.h"
-#include "llvm/Support/Debug.h"
-#include "llvm/Support/Path.h"
-#include <memory>
-
-using namespace lld;
-
-#define DEBUG_TYPE "RoundTripYAMLPass"
-
-/// Perform the actual pass
-void RoundTripYAMLPass::perform(std::unique_ptr<MutableFile> &mergedFile) {
- ScopedTask task(getDefaultDomain(), "RoundTripYAMLPass");
- std::unique_ptr<Writer> yamlWriter = createWriterYAML(_context);
- SmallString<128> tmpYAMLFile;
- // Separate the directory from the filename
- StringRef outFile = llvm::sys::path::filename(_context.outputPath());
- if (llvm::sys::fs::createTemporaryFile(outFile, "yaml", tmpYAMLFile))
- return;
- DEBUG(llvm::dbgs() << "RoundTripYAMLPass: " << tmpYAMLFile << "\n");
-
- // The file that is written would be kept around if there is a problem
- // writing to the file or when reading atoms back from the file.
- yamlWriter->writeFile(*mergedFile, tmpYAMLFile.str());
- ErrorOr<std::unique_ptr<MemoryBuffer>> mb =
- MemoryBuffer::getFile(tmpYAMLFile.str());
- if (!mb)
- return;
-
- std::error_code ec = _context.registry().loadFile(
- std::move(mb.get()), _yamlFile);
- if (ec) {
- // Note: we need a way for Passes to report errors.
- llvm_unreachable("yaml reader not registered or read error");
- }
- File *objFile = _yamlFile[0].get();
- if (objFile->parse())
- llvm_unreachable("native reader parse error");
- mergedFile.reset(new SimpleFile(objFile->path()));
- copyAtoms(mergedFile.get(), objFile);
- llvm::sys::fs::remove(tmpYAMLFile.str());
-}
diff --git a/lld/lib/ReaderWriter/CMakeLists.txt b/lld/lib/ReaderWriter/CMakeLists.txt
index 9b9102b5d63..1fd19eb73a7 100644
--- a/lld/lib/ReaderWriter/CMakeLists.txt
+++ b/lld/lib/ReaderWriter/CMakeLists.txt
@@ -14,7 +14,6 @@ add_llvm_library(lldReaderWriter
LinkerScript.cpp
LINK_LIBS
lldCore
- lldPasses
lldYAML
LLVMObject
LLVMSupport
diff --git a/lld/lib/ReaderWriter/CoreLinkingContext.cpp b/lld/lib/ReaderWriter/CoreLinkingContext.cpp
index 640c58f0fea..94386d37d4f 100644
--- a/lld/lib/ReaderWriter/CoreLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/CoreLinkingContext.cpp
@@ -12,7 +12,6 @@
#include "lld/Core/Pass.h"
#include "lld/Core/PassManager.h"
#include "lld/Core/Simple.h"
-#include "lld/Passes/RoundTripYAMLPass.h"
#include "lld/ReaderWriter/CoreLinkingContext.h"
#include "llvm/ADT/ArrayRef.h"
diff --git a/lld/lib/ReaderWriter/ELF/CMakeLists.txt b/lld/lib/ReaderWriter/ELF/CMakeLists.txt
index e8ae05bc922..d67d00bd72a 100644
--- a/lld/lib/ReaderWriter/ELF/CMakeLists.txt
+++ b/lld/lib/ReaderWriter/ELF/CMakeLists.txt
@@ -4,7 +4,6 @@ add_llvm_library(lldELF
Writer.cpp
LINK_LIBS
lldCore
- lldPasses
lldYAML
LLVMSupport
)
diff --git a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
index 99e61b9c85e..b4bf02dd7fb 100644
--- a/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
@@ -13,7 +13,6 @@
#include "TargetHandler.h"
#include "lld/Core/Instrumentation.h"
#include "lld/Core/SharedLibraryFile.h"
-#include "lld/Passes/RoundTripYAMLPass.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Config/config.h"
#include "llvm/Support/ELF.h"
diff --git a/lld/lib/ReaderWriter/ELF/Makefile b/lld/lib/ReaderWriter/ELF/Makefile
index c7f2958e18e..5791ecb9733 100644
--- a/lld/lib/ReaderWriter/ELF/Makefile
+++ b/lld/lib/ReaderWriter/ELF/Makefile
@@ -9,7 +9,6 @@
LLD_LEVEL := ../../..
LIBRARYNAME := lldELF
-USEDLIBS = lldPasses.a
CPP.Flags += -I$(PROJ_SRC_DIR)/$(LLD_LEVEL)/lib/ReaderWriter/ELF
diff --git a/lld/lib/ReaderWriter/MachO/CMakeLists.txt b/lld/lib/ReaderWriter/MachO/CMakeLists.txt
index d80afbe3810..e396537c63c 100644
--- a/lld/lib/ReaderWriter/MachO/CMakeLists.txt
+++ b/lld/lib/ReaderWriter/MachO/CMakeLists.txt
@@ -18,7 +18,6 @@ add_llvm_library(lldMachO
WriterMachO.cpp
LINK_LIBS
lldCore
- lldPasses
lldYAML
LLVMObject
LLVMSupport
diff --git a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
index a990cb103f4..6c30d6905cd 100644
--- a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
@@ -17,7 +17,6 @@
#include "lld/Core/Reader.h"
#include "lld/Core/Writer.h"
#include "lld/Driver/Driver.h"
-#include "lld/Passes/RoundTripYAMLPass.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Config/config.h"
diff --git a/lld/lib/ReaderWriter/PECOFF/CMakeLists.txt b/lld/lib/ReaderWriter/PECOFF/CMakeLists.txt
index 561f2d63b68..86b49b79f19 100644
--- a/lld/lib/ReaderWriter/PECOFF/CMakeLists.txt
+++ b/lld/lib/ReaderWriter/PECOFF/CMakeLists.txt
@@ -11,7 +11,6 @@ add_llvm_library(lldPECOFF
WriterPECOFF.cpp
LINK_LIBS
lldCore
- lldPasses
LLVMObject
LLVMSupport
)
diff --git a/lld/test/elf/Mips/pc23-range.test b/lld/test/elf/Mips/pc23-range.test
index 908628b687d..7166176c462 100644
--- a/lld/test/elf/Mips/pc23-range.test
+++ b/lld/test/elf/Mips/pc23-range.test
@@ -1,8 +1,7 @@
# Check that LLD shows an error if ADDIUPC immediate is out of range.
# RUN: yaml2obj -format=elf %s > %t-obj
-# RUN: env LLD_RUN_ROUNDTRIP_TEST= \
-# RUN: lld -flavor gnu -target mipsel -o %t-exe %t-obj 2>&1 | FileCheck %s
+# RUN: lld -flavor gnu -target mipsel -o %t-exe %t-obj 2>&1 | FileCheck %s
# CHECK: The addiupc instruction immediate 0x02000008 is out of range
diff --git a/lld/test/elf/roundtrip.test b/lld/test/elf/roundtrip.test
deleted file mode 100644
index 0788c255ce1..00000000000
--- a/lld/test/elf/roundtrip.test
+++ /dev/null
@@ -1,11 +0,0 @@
-# This tests the functionality of the RoundTrip Passes and verifies
-# that the atoms belong to the native file after the passes finish
-
-# REQUIRES: asserts
-
-RUN: lld -flavor gnu -target x86_64 %p/Inputs/foo.o.x86-64 --noinhibit-exec \
-RUN: --output-filetype=yaml -o %t1
-RUN: FileCheck %s < %t1
-
-CHECK:path:{{.*}}.native
-
diff --git a/lld/test/lit.cfg b/lld/test/lit.cfg
index da1cc4a2b14..5b49765f789 100644
--- a/lld/test/lit.cfg
+++ b/lld/test/lit.cfg
@@ -28,9 +28,6 @@ config.suffixes = ['.objtxt', '.test']
# test_source_root: The root path where tests are located.
config.test_source_root = os.path.dirname(__file__)
-# run RoundTrip{YAML,Native}Tests.
-config.environment['LLD_RUN_ROUNDTRIP_TEST'] = '1'
-
# test_exec_root: The root path where tests should be run.
lld_obj_root = getattr(config, 'lld_obj_root', None)
if lld_obj_root is not None:
diff --git a/lld/tools/lld/Makefile b/lld/tools/lld/Makefile
index 3b3d16a2d27..db84f57fae1 100644
--- a/lld/tools/lld/Makefile
+++ b/lld/tools/lld/Makefile
@@ -20,7 +20,7 @@ include $(LEVEL)/Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD)
USEDLIBS = lldDriver.a lldConfig.a \
- lldELF.a lldMachO.a lldPasses.a lldPECOFF.a lldYAML.a \
+ lldELF.a lldMachO.a lldPECOFF.a lldYAML.a \
lldReaderWriter.a lldCore.a lldNative.a \
lldHexagonELFTarget.a lldMipsELFTarget.a \
lldX86ELFTarget.a lldX86_64ELFTarget.a lldAArch64ELFTarget.a \
diff --git a/lld/unittests/DriverTests/Makefile b/lld/unittests/DriverTests/Makefile
index 47d628236b4..bd5fed151f3 100644
--- a/lld/unittests/DriverTests/Makefile
+++ b/lld/unittests/DriverTests/Makefile
@@ -10,7 +10,7 @@
LLD_LEVEL = ../..
TESTNAME = DriverTests
USEDLIBS = lldDriver.a lldConfig.a \
- lldELF.a lldMachO.a lldPasses.a lldPECOFF.a \
+ lldELF.a lldMachO.a lldPECOFF.a \
lldCore.a lldNative.a lldReaderWriter.a \
lldHexagonELFTarget.a lldMipsELFTarget.a \
lldX86ELFTarget.a lldX86_64ELFTarget.a lldYAML.a \
OpenPOWER on IntegriCloud