summaryrefslogtreecommitdiffstats
path: root/lld/lib/Passes/RoundTripNativePass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/Passes/RoundTripNativePass.cpp')
-rw-r--r--lld/lib/Passes/RoundTripNativePass.cpp41
1 files changed, 0 insertions, 41 deletions
diff --git a/lld/lib/Passes/RoundTripNativePass.cpp b/lld/lib/Passes/RoundTripNativePass.cpp
deleted file mode 100644
index e5d81c65340..00000000000
--- a/lld/lib/Passes/RoundTripNativePass.cpp
+++ /dev/null
@@ -1,41 +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.
-//
-//===----------------------------------------------------------------------===//
-#define DEBUG_TYPE "RoundTripNativePass"
-
-#include "lld/Core/Instrumentation.h"
-#include "lld/Passes/RoundTripNativePass.h"
-#include "lld/ReaderWriter/Simple.h"
-#include "lld/ReaderWriter/Writer.h"
-
-#include "llvm/Support/Path.h"
-
-using namespace lld;
-
-/// Perform the actual pass
-void RoundTripNativePass::perform(std::unique_ptr<MutableFile> &mergedFile) {
- ScopedTask task(getDefaultDomain(), "RoundTripNativePass");
- std::unique_ptr<Writer> nativeWriter = createWriterNative(_context);
- 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;
-
- nativeWriter->writeFile(*mergedFile, tmpNativeFile.str());
- llvm::OwningPtr<llvm::MemoryBuffer> buff;
- if (llvm::MemoryBuffer::getFileOrSTDIN(tmpNativeFile.str(), buff))
- return;
-
- std::unique_ptr<MemoryBuffer> mb(buff.take());
- _context.getNativeReader().parseFile(mb, _nativeFile);
-
- mergedFile.reset(new FileToMutable(_context, *_nativeFile[0].get()));
-
- llvm::sys::fs::remove(tmpNativeFile.str());
-}
OpenPOWER on IntegriCloud