const std::string &InputFile,
const std::string &OutputFile,
const std::vector<std::string> &SharedLibs =
- std::vector<std::string>());
+ std::vector<std::string>(),
+ unsigned Timeout = 0);
};
}
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
if (!SharedLibs.empty())
throw ToolExecutionError("LLI currently does not support "
"loading shared libraries.");
std::cerr << "\n";
);
return RunProgramWithTimeout(LLIPath, &LLIArgs[0],
- InputFile, OutputFile, OutputFile);
+ InputFile, OutputFile, OutputFile, Timeout);
}
// LLI create method - Try to find the LLI executable
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
std::string OutputAsmFile;
OutputAsm(Bytecode, OutputAsmFile);
// Assuming LLC worked, compile the result with GCC and run it.
return gcc->ExecuteProgram(OutputAsmFile, Args, GCC::AsmFile,
- InputFile, OutputFile, SharedLibs);
+ InputFile, OutputFile, SharedLibs, Timeout);
}
/// createLLC - Try to find the LLC executable
const std::string &InputFile,
const std::string &OutputFile,
const std::vector<std::string> &SharedLibs =
- std::vector<std::string>());
+ std::vector<std::string>(), unsigned Timeout =0);
};
}
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
// Construct a vector of parameters, incorporating those from the command-line
std::vector<const char*> JITArgs;
JITArgs.push_back(LLIPath.c_str());
);
DEBUG(std::cerr << "\nSending output to " << OutputFile << "\n");
return RunProgramWithTimeout(LLIPath, &JITArgs[0],
- InputFile, OutputFile, OutputFile);
+ InputFile, OutputFile, OutputFile, Timeout);
}
/// createJIT - Try to find the LLI executable
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
std::string OutputCFile;
OutputC(Bytecode, OutputCFile);
FileRemover CFileRemove(OutputCFile);
return gcc->ExecuteProgram(OutputCFile, Args, GCC::CFile,
- InputFile, OutputFile, SharedLibs);
+ InputFile, OutputFile, SharedLibs, Timeout);
}
/// createCBE - Try to find the 'llc' executable
FileType fileType,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
std::vector<const char*> GCCArgs;
GCCArgs.push_back(GCCPath.c_str());
FileRemover OutputBinaryRemover(OutputBinary);
return RunProgramWithTimeout(OutputBinary, &ProgramArgs[0],
- InputFile, OutputFile, OutputFile);
+ InputFile, OutputFile, OutputFile, Timeout);
}
int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType,
const std::string &InputFile,
const std::string &OutputFile,
const std::vector<std::string> &SharedLibs =
- std::vector<std::string>());
+ std::vector<std::string>(),
+ unsigned Timeout = 0);
};
}
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
if (!SharedLibs.empty())
throw ToolExecutionError("LLI currently does not support "
"loading shared libraries.");
std::cerr << "\n";
);
return RunProgramWithTimeout(LLIPath, &LLIArgs[0],
- InputFile, OutputFile, OutputFile);
+ InputFile, OutputFile, OutputFile, Timeout);
}
// LLI create method - Try to find the LLI executable
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
std::string OutputAsmFile;
OutputAsm(Bytecode, OutputAsmFile);
// Assuming LLC worked, compile the result with GCC and run it.
return gcc->ExecuteProgram(OutputAsmFile, Args, GCC::AsmFile,
- InputFile, OutputFile, SharedLibs);
+ InputFile, OutputFile, SharedLibs, Timeout);
}
/// createLLC - Try to find the LLC executable
const std::string &InputFile,
const std::string &OutputFile,
const std::vector<std::string> &SharedLibs =
- std::vector<std::string>());
+ std::vector<std::string>(), unsigned Timeout =0);
};
}
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
// Construct a vector of parameters, incorporating those from the command-line
std::vector<const char*> JITArgs;
JITArgs.push_back(LLIPath.c_str());
);
DEBUG(std::cerr << "\nSending output to " << OutputFile << "\n");
return RunProgramWithTimeout(LLIPath, &JITArgs[0],
- InputFile, OutputFile, OutputFile);
+ InputFile, OutputFile, OutputFile, Timeout);
}
/// createJIT - Try to find the LLI executable
const std::vector<std::string> &Args,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
std::string OutputCFile;
OutputC(Bytecode, OutputCFile);
FileRemover CFileRemove(OutputCFile);
return gcc->ExecuteProgram(OutputCFile, Args, GCC::CFile,
- InputFile, OutputFile, SharedLibs);
+ InputFile, OutputFile, SharedLibs, Timeout);
}
/// createCBE - Try to find the 'llc' executable
FileType fileType,
const std::string &InputFile,
const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs) {
+ const std::vector<std::string> &SharedLibs,
+ unsigned Timeout) {
std::vector<const char*> GCCArgs;
GCCArgs.push_back(GCCPath.c_str());
FileRemover OutputBinaryRemover(OutputBinary);
return RunProgramWithTimeout(OutputBinary, &ProgramArgs[0],
- InputFile, OutputFile, OutputFile);
+ InputFile, OutputFile, OutputFile, Timeout);
}
int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType,