provide an option to override the target triple in a module from the commandline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24730 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index c1b7478..b0f3ff5 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -36,7 +36,9 @@
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 @@
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?");