Deconstify parameter to getPointerToFunction().
Run passes on single function (hey, just-in-time compilation!)
 instead of the entire module that contains it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7819 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/JIT/VM.cpp b/lib/ExecutionEngine/JIT/VM.cpp
index d5815e8..ee7e311 100644
--- a/lib/ExecutionEngine/JIT/VM.cpp
+++ b/lib/ExecutionEngine/JIT/VM.cpp
@@ -39,7 +39,7 @@
 /// getPointerToFunction - This method is used to get the address of the
 /// specified function, compiling it if neccesary.
 ///
-void *VM::getPointerToFunction(const Function *F) {
+void *VM::getPointerToFunction(Function *F) {
   void *&Addr = GlobalAddress[F];   // Function already code gen'd
   if (Addr) return Addr;
 
@@ -49,11 +49,9 @@
   static bool isAlreadyCodeGenerating = false;
   assert(!isAlreadyCodeGenerating && "ERROR: RECURSIVE COMPILATION DETECTED!");
 
-  // FIXME: JIT all of the functions in the module.  Eventually this will JIT
-  // functions on demand.  This has the effect of populating all of the
-  // non-external functions into the GlobalAddress table.
+  // JIT the function
   isAlreadyCodeGenerating = true;
-  PM.run(getModule());
+  PM.run(*F);
   isAlreadyCodeGenerating = false;
 
   assert(Addr && "Code generation didn't add function to GlobalAddress table!");