Teach the x86 jit how to handle jump tables not directly used by a jump
instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28080 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index ca6c78d..9e2c998 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -517,6 +517,9 @@
       else if (MI.getOperand(4).isGlobalAddress())
         emitGlobalAddressForPtr(MI.getOperand(4).getGlobal(),
                                 MI.getOperand(4).getOffset());
+      else if (MI.getOperand(4).isJumpTableIndex())
+        emitConstant(MCE.getJumpTableEntryAddress(MI.getOperand(4)
+                                                    .getJumpTableIndex()), 4);
       else
         assert(0 && "Unknown operand!");
     }