mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
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:
parent
37df460874
commit
71d8478117
@ -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!");
|
||||
|
Loading…
Reference in New Issue
Block a user