summaryrefslogtreecommitdiff
path: root/tools/bugpoint/ExecutionDriver.cpp
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2008-04-28 20:53:48 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2008-04-28 20:53:48 +0000
commit9ef7425a4d44ff129495da2357c98c67162fbeff (patch)
tree724b2bde81a9b0ca7ef94bc4e8931af9868be6c3 /tools/bugpoint/ExecutionDriver.cpp
parent3e2dda63d03b84e558c757fae67ee8fe028b9124 (diff)
downloadllvm-9ef7425a4d44ff129495da2357c98c67162fbeff.tar.gz
llvm-9ef7425a4d44ff129495da2357c98c67162fbeff.tar.bz2
llvm-9ef7425a4d44ff129495da2357c98c67162fbeff.tar.xz
Add possibility of using arbitrary to to execute stuff from bugpoint.
Patch by Pekka Jääskeläinen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50373 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/ExecutionDriver.cpp')
-rw-r--r--tools/bugpoint/ExecutionDriver.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp
index c65d97607e..49480efb63 100644
--- a/tools/bugpoint/ExecutionDriver.cpp
+++ b/tools/bugpoint/ExecutionDriver.cpp
@@ -28,7 +28,7 @@ namespace {
// for miscompilation.
//
enum OutputType {
- AutoPick, RunLLI, RunJIT, RunLLC, RunCBE, CBE_bug, LLC_Safe
+ AutoPick, RunLLI, RunJIT, RunLLC, RunCBE, CBE_bug, LLC_Safe, Custom
};
cl::opt<double>
@@ -48,6 +48,9 @@ namespace {
clEnumValN(RunCBE, "run-cbe", "Compile with CBE"),
clEnumValN(CBE_bug,"cbe-bug", "Find CBE bugs"),
clEnumValN(LLC_Safe, "llc-safe", "Use LLC for all"),
+ clEnumValN(Custom, "run-custom",
+ "Use -exec-command to define a command to execute "
+ "the bitcode. Useful for cross-compilation."),
clEnumValEnd),
cl::init(AutoPick));
@@ -71,8 +74,13 @@ namespace {
"into executing programs"));
cl::list<std::string>
- AdditionalLinkerArgs("Xlinker",
+ AdditionalLinkerArgs("Xlinker",
cl::desc("Additional arguments to pass to the linker"));
+
+ cl::opt<std::string>
+ CustomExecCommand("exec-command", cl::init("simulate"),
+ cl::desc("Command to execute the bitcode (use with -run-custom) "
+ "(default: simulate)"));
}
namespace llvm {
@@ -148,6 +156,10 @@ bool BugDriver::initializeExecutionEnvironment() {
Interpreter = AbstractInterpreter::createCBE(getToolName(), Message,
&ToolArgv);
break;
+ case Custom:
+ Interpreter = AbstractInterpreter::createCustom(getToolName(), Message,
+ CustomExecCommand);
+ break;
default:
Message = "Sorry, this back-end is not supported by bugpoint right now!\n";
break;