diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-07-27 18:21:10 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-07-27 18:21:10 +0000 |
commit | f141cc46faf6f0525f0baa10b6a6c976301874a5 (patch) | |
tree | 606b1c78ed5faa3eb7e66431a6304442826f6b60 /lib/ExecutionEngine/JIT | |
parent | 16620fcbfd12fcd0530e79e121a7e5ff33cb9618 (diff) | |
download | external_llvm-f141cc46faf6f0525f0baa10b6a6c976301874a5.zip external_llvm-f141cc46faf6f0525f0baa10b6a6c976301874a5.tar.gz external_llvm-f141cc46faf6f0525f0baa10b6a6c976301874a5.tar.bz2 |
Resolve BB references with relocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29351 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT')
-rw-r--r-- | lib/ExecutionEngine/JIT/JITEmitter.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp index e048189..dc9ba28 100644 --- a/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -807,13 +807,13 @@ bool JITEmitter::finishFunction(MachineFunction &F) { ResultPtr = getPointerToGlobal(MR.getGlobalValue(), BufferBegin+MR.getMachineCodeOffset(), MR.doesntNeedFunctionStub()); + } else if (MR.isBasicBlock()) { + ResultPtr = (void*)getMachineBasicBlockAddress(MR.getBasicBlock()); } else if (MR.isConstantPoolIndex()){ - assert(MR.isConstantPoolIndex()); ResultPtr=(void*)getConstantPoolEntryAddress(MR.getConstantPoolIndex()); } else { assert(MR.isJumpTableIndex()); ResultPtr=(void*)getJumpTableEntryAddress(MR.getJumpTableIndex()); - } MR.setResultPointer(ResultPtr); @@ -846,9 +846,6 @@ bool JITEmitter::finishFunction(MachineFunction &F) { } } - // Resolve BasicaBlock references. - TheJIT->getJITInfo().resolveBBRefs(*this); - // Invalidate the icache if necessary. synchronizeICache(FnStart, FnEnd-FnStart); |