diff --git a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
index 89d9e16..5691a24 100644
--- a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -15,9 +15,25 @@
 #include "Support/Debug.h"
 #include "Support/Statistic.h"
 #include "Config/dlfcn.h"
+#include "JIT/VM.h"
+#include "Interpreter/Interpreter.h"
 
 Statistic<> NumInitBytes("lli", "Number of bytes of global vars initialized");
 
+ExecutionEngine *ExecutionEngine::create (Module *M, bool ForceInterpreter,
+					  bool DebugMode, bool TraceMode) {
+  ExecutionEngine *EE = 0;
+
+  // If there is nothing that is forcing us to use the interpreter, make a JIT.
+  if (!ForceInterpreter && !DebugMode && !TraceMode)
+    EE = VM::create(M);
+
+  // If we can't make a JIT, make an interpreter instead.
+  if (EE == 0)
+    EE = Interpreter::create(M, DebugMode, TraceMode);
+  return EE;
+}
+
 // getPointerToGlobal - This returns the address of the specified global
 // value.  This may involve code generation if it's a function.
 //
@@ -29,7 +45,6 @@
   return GlobalAddress[GV];
 }
 
-
 GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
   GenericValue Result;
 
@@ -259,7 +274,6 @@
   return Result;
 }
 
-
 // InitializeMemory - Recursive function to apply a Constant value into the
 // specified memory location...
 //
