mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
Don't use PathV1.h in ToolRunner.h.
llvm-svn: 184107
This commit is contained in:
parent
dc36acbad8
commit
fcae6ace8a
@ -22,6 +22,7 @@
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/FileUtilities.h"
|
||||
#include "llvm/Support/Host.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/SourceMgr.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <memory>
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "llvm/Support/CFG.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/FileUtilities.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Transforms/Scalar.h"
|
||||
#include "llvm/Transforms/Utils/Cloning.h"
|
||||
#include <set>
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/FileUtilities.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/SystemUtils.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <fstream>
|
||||
@ -380,7 +381,7 @@ std::string BugDriver::executeProgramSafely(const Module *Program,
|
||||
std::string BugDriver::compileSharedObject(const std::string &BitcodeFile,
|
||||
std::string &Error) {
|
||||
assert(Interpreter && "Interpreter should have been created already!");
|
||||
sys::Path OutputFile;
|
||||
std::string OutputFile;
|
||||
|
||||
// Using the known-good backend.
|
||||
GCC::FileType FT = SafeInterpreter->OutputCode(BitcodeFile, OutputFile,
|
||||
@ -389,7 +390,7 @@ std::string BugDriver::compileSharedObject(const std::string &BitcodeFile,
|
||||
return "";
|
||||
|
||||
std::string SharedObjectFile;
|
||||
bool Failure = gcc->MakeSharedObject(OutputFile.str(), FT, SharedObjectFile,
|
||||
bool Failure = gcc->MakeSharedObject(OutputFile, FT, SharedObjectFile,
|
||||
AdditionalLinkerArgs, Error);
|
||||
if (!Error.empty())
|
||||
return "";
|
||||
@ -397,7 +398,7 @@ std::string BugDriver::compileSharedObject(const std::string &BitcodeFile,
|
||||
exit(1);
|
||||
|
||||
// Remove the intermediate C file
|
||||
OutputFile.eraseFromDisk();
|
||||
sys::fs::remove(OutputFile);
|
||||
|
||||
return "./" + SharedObjectFile;
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "BugDriver.h"
|
||||
#include "ToolRunner.h"
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <algorithm>
|
||||
#include <ctime>
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/FileUtilities.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Transforms/Utils/Cloning.h"
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/FileUtilities.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/Program.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <fstream>
|
||||
@ -460,7 +461,7 @@ AbstractInterpreter *AbstractInterpreter::createCustomExecutor(
|
||||
// LLC Implementation of AbstractIntepreter interface
|
||||
//
|
||||
GCC::FileType LLC::OutputCode(const std::string &Bitcode,
|
||||
sys::Path &OutputAsmFile, std::string &Error,
|
||||
std::string &OutputAsmFile, std::string &Error,
|
||||
unsigned Timeout, unsigned MemoryLimit) {
|
||||
const char *Suffix = (UseIntegratedAssembler ? ".llc.o" : ".llc.s");
|
||||
sys::Path uniqueFile(Bitcode + Suffix);
|
||||
@ -469,7 +470,7 @@ GCC::FileType LLC::OutputCode(const std::string &Bitcode,
|
||||
errs() << "Error making unique filename: " << ErrMsg << "\n";
|
||||
exit(1);
|
||||
}
|
||||
OutputAsmFile = uniqueFile;
|
||||
OutputAsmFile = uniqueFile.str();
|
||||
std::vector<const char *> LLCArgs;
|
||||
LLCArgs.push_back(LLCPath.c_str());
|
||||
|
||||
@ -503,9 +504,9 @@ GCC::FileType LLC::OutputCode(const std::string &Bitcode,
|
||||
|
||||
void LLC::compileProgram(const std::string &Bitcode, std::string *Error,
|
||||
unsigned Timeout, unsigned MemoryLimit) {
|
||||
sys::Path OutputAsmFile;
|
||||
std::string OutputAsmFile;
|
||||
OutputCode(Bitcode, OutputAsmFile, *Error, Timeout, MemoryLimit);
|
||||
OutputAsmFile.eraseFromDisk();
|
||||
sys::fs::remove(OutputAsmFile);
|
||||
}
|
||||
|
||||
int LLC::ExecuteProgram(const std::string &Bitcode,
|
||||
@ -518,16 +519,16 @@ int LLC::ExecuteProgram(const std::string &Bitcode,
|
||||
unsigned Timeout,
|
||||
unsigned MemoryLimit) {
|
||||
|
||||
sys::Path OutputAsmFile;
|
||||
std::string OutputAsmFile;
|
||||
GCC::FileType FileKind = OutputCode(Bitcode, OutputAsmFile, *Error, Timeout,
|
||||
MemoryLimit);
|
||||
FileRemover OutFileRemover(OutputAsmFile.str(), !SaveTemps);
|
||||
FileRemover OutFileRemover(OutputAsmFile, !SaveTemps);
|
||||
|
||||
std::vector<std::string> GCCArgs(ArgsForGCC);
|
||||
GCCArgs.insert(GCCArgs.end(), SharedLibs.begin(), SharedLibs.end());
|
||||
|
||||
// Assuming LLC worked, compile the result with GCC and run it.
|
||||
return gcc->ExecuteProgram(OutputAsmFile.str(), Args, FileKind,
|
||||
return gcc->ExecuteProgram(OutputAsmFile, Args, FileKind,
|
||||
InputFile, OutputFile, Error, GCCArgs,
|
||||
Timeout, MemoryLimit);
|
||||
}
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
#include "llvm/Support/Path.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/SystemUtils.h"
|
||||
#include <exception>
|
||||
#include <vector>
|
||||
@ -122,7 +121,7 @@ public:
|
||||
/// fails, it sets Error, otherwise, this function returns the type of code
|
||||
/// emitted.
|
||||
virtual GCC::FileType OutputCode(const std::string &Bitcode,
|
||||
sys::Path &OutFile, std::string &Error,
|
||||
std::string &OutFile, std::string &Error,
|
||||
unsigned Timeout = 0,
|
||||
unsigned MemoryLimit = 0) {
|
||||
Error = "OutputCode not supported by this AbstractInterpreter!";
|
||||
@ -189,7 +188,7 @@ public:
|
||||
/// fails, it sets Error, otherwise, this function returns the type of code
|
||||
/// emitted.
|
||||
virtual GCC::FileType OutputCode(const std::string &Bitcode,
|
||||
sys::Path &OutFile, std::string &Error,
|
||||
std::string &OutFile, std::string &Error,
|
||||
unsigned Timeout = 0,
|
||||
unsigned MemoryLimit = 0);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user