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?");