diff options
Diffstat (limited to 'lld/lib/Passes/RoundTripNativePass.cpp')
| -rw-r--r-- | lld/lib/Passes/RoundTripNativePass.cpp | 41 |
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()); -} |

