[llvm-commits] CVS: llvm/lib/Target/X86/X86CodeEmitter.cpp

Nate Begeman natebegeman at mac.com
Tue May 2 21:52:59 PDT 2006



Changes in directory llvm/lib/Target/X86:

X86CodeEmitter.cpp updated: 1.99 -> 1.100
---
Log message:

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


---
Diffs of the changes:  (+3 -0)

 X86CodeEmitter.cpp |    3 +++
 1 files changed, 3 insertions(+)


Index: llvm/lib/Target/X86/X86CodeEmitter.cpp
diff -u llvm/lib/Target/X86/X86CodeEmitter.cpp:1.99 llvm/lib/Target/X86/X86CodeEmitter.cpp:1.100
--- llvm/lib/Target/X86/X86CodeEmitter.cpp:1.99	Tue May  2 19:28:15 2006
+++ llvm/lib/Target/X86/X86CodeEmitter.cpp	Tue May  2 23:52:47 2006
@@ -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!");
     }






More information about the llvm-commits mailing list