Substantial changes to refactor LLI to incorporate both the Jello JIT and
the traditional LLI interpreter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5125 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 79e730f..0d8cae2 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -12,6 +12,7 @@
 
 #include "Interpreter.h"
 #include "ExecutionAnnotations.h"
+#include "llvm/Module.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/SymbolTable.h"
 #include "llvm/Target/TargetData.h"
@@ -23,8 +24,6 @@
 using std::vector;
 using std::cout;
 
-extern TargetData TD;
-
 typedef GenericValue (*ExFunc)(FunctionType *, const vector<GenericValue> &);
 static std::map<const Function *, ExFunc> Functions;
 static std::map<std::string, ExFunc> FuncNames;
@@ -440,8 +439,8 @@
   static PointerTy IOBBase = 0;
   static unsigned FILESize;
 
-  if (LastMod != TheInterpreter->getModule()) {  // Module change or initialize?
-    Module *M = LastMod = TheInterpreter->getModule();
+  if (LastMod != &TheInterpreter->getModule()) { // Module change or initialize?
+    Module *M = LastMod = &TheInterpreter->getModule();
 
     // Check to see if the currently loaded module contains an __iob symbol...
     GlobalVariable *IOB = 0;
@@ -456,6 +455,7 @@
       if (IOB) break;
     }
 
+#if 0   /// FIXME!  __iob support for LLI
     // If we found an __iob symbol now, find out what the actual address it's
     // held in is...
     if (IOB) {
@@ -472,6 +472,7 @@
       else
         FILESize = 16*8;  // Default size
     }
+#endif
   }
 
   // Check to see if this is a reference to __iob...