summaryrefslogtreecommitdiff
path: root/tools/lli
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lli')
-rw-r--r--tools/lli/lli.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index c1b7478a37..b0f3ff5211 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -36,7 +36,9 @@ namespace {
cl::opt<bool> ForceInterpreter("force-interpreter",
cl::desc("Force interpretation: disable JIT"),
cl::init(false));
-
+ cl::opt<std::string>
+ TargetTriple("triple", cl::desc("Override target triple for module"));
+
cl::opt<std::string>
FakeArgv0("fake-argv0",
cl::desc("Override the 'argv[0]' value passed into the executing"
@@ -62,6 +64,10 @@ int main(int argc, char **argv, char * const *envp) {
exit(1);
}
+ // If we are supposed to override the target triple, do so now.
+ if (!TargetTriple.empty())
+ MP->getModule()->setTargetTriple(TargetTriple);
+
ExecutionEngine *EE = ExecutionEngine::create(MP, ForceInterpreter);
assert(EE && "Couldn't create an ExecutionEngine, not even an interpreter?");