- unsigned Timeout = 0) = 0;
-};
-
-//===---------------------------------------------------------------------===//
-// CBE Implementation of AbstractIntepreter interface
-//
-class CBE : public AbstractInterpreter {
- std::string LLCPath; // The path to the `llc' executable
- std::vector<std::string> ToolArgs; // Extra args to pass to LLC
- GCC *gcc;
-public:
- CBE(const std::string &llcPath, GCC *Gcc,
- const std::vector<std::string> *Args) : LLCPath(llcPath), gcc(Gcc) {
- ToolArgs.clear ();
- if (Args) { ToolArgs = *Args; }
- }
- ~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,
- const std::string &OutputFile,
- const std::vector<std::string> &SharedLibs =