aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ExecutionEngine/JIT
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2010-03-11 14:58:16 +0000
committerRichard Osborne <richard@xmos.com>2010-03-11 14:58:16 +0000
commit9f3cfe66353a3cf1accccb0fc82d4d2f62ee5fe7 (patch)
tree5e758211638e7c7e2f05c0017ede940e8e3c82a1 /lib/ExecutionEngine/JIT
parent197e06c45d80790f0aff1282f81418332e49fda3 (diff)
downloadexternal_llvm-9f3cfe66353a3cf1accccb0fc82d4d2f62ee5fe7.zip
external_llvm-9f3cfe66353a3cf1accccb0fc82d4d2f62ee5fe7.tar.gz
external_llvm-9f3cfe66353a3cf1accccb0fc82d4d2f62ee5fe7.tar.bz2
Add a new jump table encoding to indicate jump tables entries
are inside the function by the target at the point of use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98255 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT')
-rw-r--r--lib/ExecutionEngine/JIT/JITEmitter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp
index 783ebb4..26353f7 100644
--- a/lib/ExecutionEngine/JIT/JITEmitter.cpp
+++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp
@@ -1393,6 +1393,8 @@ void JITEmitter::emitConstantPool(MachineConstantPool *MCP) {
void JITEmitter::initJumpTableInfo(MachineJumpTableInfo *MJTI) {
if (TheJIT->getJITInfo().hasCustomJumpTables())
return;
+ if (MJTI->getEntryKind() == MachineJumpTableInfo::EK_Inline)
+ return;
const std::vector<MachineJumpTableEntry> &JT = MJTI->getJumpTables();
if (JT.empty()) return;
@@ -1420,6 +1422,8 @@ void JITEmitter::emitJumpTableInfo(MachineJumpTableInfo *MJTI) {
switch (MJTI->getEntryKind()) {
+ case MachineJumpTableInfo::EK_Inline:
+ return;
case MachineJumpTableInfo::EK_BlockAddress: {
// EK_BlockAddress - Each entry is a plain address of block, e.g.:
// .word LBB123