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

llvm-svn: 7819
diff --git a/llvm/lib/ExecutionEngine/JIT/VM.cpp b/llvm/lib/ExecutionEngine/JIT/VM.cpp
index d5815e8..ee7e311e 100644
--- a/llvm/lib/ExecutionEngine/JIT/VM.cpp
+++ b/llvm/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!");