summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
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
commit6d3e92dfee073a0964411daa85dd0cb4db53bfc9 (patch)
tree563ba19879ba9e82f4b33dae6d499b557effa354 /llvm/lib/ExecutionEngine
parent4d5c3d99e50cc58bce2520941d005e4f2a4e248f (diff)
downloadbcm5719-llvm-6d3e92dfee073a0964411daa85dd0cb4db53bfc9.tar.gz
bcm5719-llvm-6d3e92dfee073a0964411daa85dd0cb4db53bfc9.zip
Add a new jump table encoding to indicate jump tables entries
are inside the function by the target at the point of use. llvm-svn: 98255
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp b/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
index 783ebb4deb6..26353f794f2 100644
--- a/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
+++ b/llvm/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
OpenPOWER on IntegriCloud