#include "llvm/ExecutionEngine/Interpreter.h"
#include "llvm/ExecutionEngine/JIT.h"
#include "llvm/ExecutionEngine/JITEventListener.h"
+#include "llvm/ExecutionEngine/MCJIT.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/IRReader.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/PluginLoader.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/raw_ostream.h"
-#include "llvm/System/Process.h"
-#include "llvm/System/Signals.h"
+#include "llvm/Support/Process.h"
+#include "llvm/Support/Signals.h"
#include "llvm/Target/TargetSelect.h"
#include <cerrno>
cl::desc("Force interpretation: disable JIT"),
cl::init(false));
+ cl::opt<bool> UseMCJIT(
+ "use-mcjit", cl::desc("Enable use of the MC-based JIT (if available)"),
+ cl::init(false));
+
// Determine optimization level.
cl::opt<char>
OptLevel("O",
if (!TargetTriple.empty())
Mod->setTargetTriple(Triple::normalize(TargetTriple));
+ // Enable MCJIT, if desired.
+ if (UseMCJIT)
+ builder.setUseMCJIT(true);
+
CodeGenOpt::Level OLvl = CodeGenOpt::Default;
switch (OptLevel) {
default: