aboutsummaryrefslogtreecommitdiffstats
path: root/tools/bugpoint/ToolRunner.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bugpoint/ToolRunner.h')
-rw-r--r--tools/bugpoint/ToolRunner.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/bugpoint/ToolRunner.h b/tools/bugpoint/ToolRunner.h
index 37451f7..d8e7503 100644
--- a/tools/bugpoint/ToolRunner.h
+++ b/tools/bugpoint/ToolRunner.h
@@ -90,6 +90,12 @@ struct AbstractInterpreter {
virtual ~AbstractInterpreter() {}
+ /// compileProgram - Compile the specified program from bytecode to executable
+ /// code. This does not produce any output, it is only used when debugging
+ /// the code generator. If the code generator fails, an exception should be
+ /// thrown, otherwise, this function will just return.
+ virtual void compileProgram(const std::string &Bytecode) {}
+
/// ExecuteProgram - Run the specified bytecode file, emitting output to the
/// specified filename. This returns the exit code of the program.
///
@@ -111,6 +117,12 @@ public:
CBE(const std::string &llcPath, GCC *Gcc) : LLCPath(llcPath), gcc(Gcc) { }
~CBE() { delete gcc; }
+ /// compileProgram - Compile the specified program from bytecode to executable
+ /// code. This does not produce any output, it is only used when debugging
+ /// the code generator. If the code generator fails, an exception should be
+ /// thrown, otherwise, this function will just return.
+ virtual void compileProgram(const std::string &Bytecode);
+
virtual int ExecuteProgram(const std::string &Bytecode,
const std::vector<std::string> &Args,
const std::string &InputFile,
@@ -137,6 +149,13 @@ public:
: LLCPath(llcPath), gcc(Gcc) { }
~LLC() { delete gcc; }
+
+ /// compileProgram - Compile the specified program from bytecode to executable
+ /// code. This does not produce any output, it is only used when debugging
+ /// the code generator. If the code generator fails, an exception should be
+ /// thrown, otherwise, this function will just return.
+ virtual void compileProgram(const std::string &Bytecode);
+
virtual int ExecuteProgram(const std::string &Bytecode,
const std::vector<std::string> &Args,
const std::string &InputFile,