Deconstify parameter to getPointerToFunction().
authorBrian Gaeke <gaeke@uiuc.edu>
Wed, 13 Aug 2003 18:16:34 +0000 (18:16 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Wed, 13 Aug 2003 18:16:34 +0000 (18:16 +0000)
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

lib/ExecutionEngine/JIT/VM.cpp

index d5815e8dd88becd652efbc5e8a59df12731b533b..ee7e311ebbdb4e982720583dc655d7a3ea4fdd5a 100644 (file)
@@ -39,7 +39,7 @@ void VM::setupPassManager() {
 /// 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 @@ void *VM::getPointerToFunction(const Function *F) {
   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!");