diff --git a/lib/Support/ToolRunner.cpp b/lib/Support/ToolRunner.cpp index a15de5e4e6b..6ad3d4392c0 100644 --- a/lib/Support/ToolRunner.cpp +++ b/lib/Support/ToolRunner.cpp @@ -126,6 +126,12 @@ void LLC::OutputAsm(const std::string &Bytecode, std::string &OutputAsmFile) { ProcessFailure(LLCPath, LLCArgs); } +void LLC::compileProgram(const std::string &Bytecode) { + std::string OutputAsmFile; + OutputAsm(Bytecode, OutputAsmFile); + removeFile(OutputAsmFile); +} + int LLC::ExecuteProgram(const std::string &Bytecode, const std::vector &Args, const std::string &InputFile, @@ -243,6 +249,12 @@ void CBE::OutputC(const std::string &Bytecode, ProcessFailure(LLCPath, LLCArgs); } +void CBE::compileProgram(const std::string &Bytecode) { + std::string OutputCFile; + OutputC(Bytecode, OutputCFile); + removeFile(OutputCFile); +} + int CBE::ExecuteProgram(const std::string &Bytecode, const std::vector &Args, const std::string &InputFile, diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp index a15de5e4e6b..6ad3d4392c0 100644 --- a/tools/bugpoint/ToolRunner.cpp +++ b/tools/bugpoint/ToolRunner.cpp @@ -126,6 +126,12 @@ void LLC::OutputAsm(const std::string &Bytecode, std::string &OutputAsmFile) { ProcessFailure(LLCPath, LLCArgs); } +void LLC::compileProgram(const std::string &Bytecode) { + std::string OutputAsmFile; + OutputAsm(Bytecode, OutputAsmFile); + removeFile(OutputAsmFile); +} + int LLC::ExecuteProgram(const std::string &Bytecode, const std::vector &Args, const std::string &InputFile, @@ -243,6 +249,12 @@ void CBE::OutputC(const std::string &Bytecode, ProcessFailure(LLCPath, LLCArgs); } +void CBE::compileProgram(const std::string &Bytecode) { + std::string OutputCFile; + OutputC(Bytecode, OutputCFile); + removeFile(OutputCFile); +} + int CBE::ExecuteProgram(const std::string &Bytecode, const std::vector &Args, const std::string &InputFile,