Teach the x86 jit how to handle jump tables not directly used by a jump
authorNate Begeman <natebegeman@mac.com>
Wed, 3 May 2006 04:52:47 +0000 (04:52 +0000)
committerNate Begeman <natebegeman@mac.com>
Wed, 3 May 2006 04:52:47 +0000 (04:52 +0000)
instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28080 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86CodeEmitter.cpp

index ca6c78df5ec9d04fd3b943be9cb19a4b4e074fba..9e2c998e3f159a75cdd511fe0f5d5c4bfedefd29 100644 (file)
@@ -517,6 +517,9 @@ void Emitter::emitInstruction(const MachineInstr &MI) {
       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!");
     }