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
This commit is contained in:
Brian Gaeke 2003-08-13 18:16:34 +00:00
parent 37df460874
commit 71d8478117

View 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!");