OSDN Git Service

JIT imm12 encoding for constant pool entry references.
authorJim Grosbach <grosbach@apple.com>
Wed, 27 Oct 2010 20:39:40 +0000 (20:39 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 27 Oct 2010 20:39:40 +0000 (20:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117483 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMCodeEmitter.cpp

index affec70..c103fab 100644 (file)
@@ -181,6 +181,10 @@ namespace {
         // {11-0}  = imm12
         const MachineOperand &MO  = MI.getOperand(Op);
         const MachineOperand &MO1 = MI.getOperand(Op + 1);
+        if (!MO.isReg()) {
+          emitConstPoolAddress(MO.getIndex(), ARM::reloc_arm_cp_entry);
+          return 0;
+        }
         unsigned Reg = getARMRegisterNumbering(MO.getReg());
         int32_t Imm12 = MO1.getImm();
         uint32_t Binary;