More code clean up.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 7 Nov 2008 22:57:53 +0000 (22:57 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 7 Nov 2008 22:57:53 +0000 (22:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58872 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/ARM/ARMJITInfo.cpp
lib/Target/ARM/ARMJITInfo.h

index 8c7e2aba89b3ae8d97396c38a1a0b34f4ea28d91..32cf226c49700a90751e00b2df5414bf0af272b2 100644 (file)
@@ -140,7 +140,7 @@ namespace {
     /// Routines that handle operands which add machine relocations which are
     /// fixed up by the relocation stage.
     void emitGlobalAddress(GlobalValue *GV, unsigned Reloc,
-                           bool NeedStub, unsigned CPIdx = 0);
+                           bool NeedStub, intptr_t ACPV = 0);
     void emitExternalSymbolAddress(const char *ES, unsigned Reloc);
     void emitConstPoolAddress(unsigned CPI, unsigned Reloc);
     void emitJumpTableAddress(unsigned JTIndex, unsigned Reloc);
@@ -225,11 +225,10 @@ unsigned ARMCodeEmitter::getMachineOpValue(const MachineInstr &MI,
 
 /// emitGlobalAddress - Emit the specified address to the code stream.
 ///
-void ARMCodeEmitter::emitGlobalAddress(GlobalValue *GV,
-                                       unsigned Reloc, bool NeedStub,
-                                       unsigned CPIdx) {
+void ARMCodeEmitter::emitGlobalAddress(GlobalValue *GV, unsigned Reloc,
+                                       bool NeedStub, intptr_t ACPV) {
   MCE.addRelocation(MachineRelocation::getGV(MCE.getCurrentPCOffset(),
-                                             Reloc, GV, CPIdx, NeedStub));
+                                             Reloc, GV, ACPV, NeedStub));
 }
 
 /// emitExternalSymbolAddress - Arrange for the address of an external symbol to
@@ -337,7 +336,8 @@ void ARMCodeEmitter::emitConstPoolInstruction(const MachineInstr &MI) {
     GlobalValue *GV = ACPV->getGV();
     if (GV) {
       assert(!ACPV->isStub() && "Don't know how to deal this yet!");
-      emitGlobalAddress(GV, ARM::reloc_arm_machine_cp_entry, false, CPIndex);
+      emitGlobalAddress(GV, ARM::reloc_arm_machine_cp_entry, false,
+                        (intptr_t)ACPV);
      } else  {
       assert(!ACPV->isNonLazyPointer() && "Don't know how to deal this yet!");
       emitExternalSymbolAddress(ACPV->getSymbol(), ARM::reloc_arm_absolute);
index 52036ba35177c08ac1afee2fbe535c6c5e7b6455..c0b878251baf23d265560f1063b1c10cb25a6282 100644 (file)
@@ -180,11 +180,7 @@ intptr_t ARMJITInfo::resolveRelocDestAddr(MachineRelocation *MR) const {
     // Constant pool entry address.
     return getConstantPoolEntryAddr(MR->getConstantPoolIndex());
   else if (RT == ARM::reloc_arm_machine_cp_entry) {
-    const MachineConstantPoolEntry &MCPE = (*MCPEs)[MR->getConstantVal()];
-    assert(MCPE.isMachineConstantPoolEntry() &&
-           "Expecting a machine constant pool entry!");
-    ARMConstantPoolValue *ACPV =
-      static_cast<ARMConstantPoolValue*>(MCPE.Val.MachineCPVal);
+    ARMConstantPoolValue *ACPV = (ARMConstantPoolValue*)MR->getConstantVal();
     assert((!ACPV->hasModifier() && !ACPV->mustAddCurrentAddress()) &&
            "Can't handle this machine constant pool entry yet!");
     intptr_t Addr = (intptr_t)(MR->getResultPointer());
index 4b94f3ef795523995698aec6b9f766bee0eba403..feb7eea6aabc4a6933ec8bd1759fa0961943780b 100644 (file)
@@ -27,10 +27,6 @@ namespace llvm {
   class ARMJITInfo : public TargetJITInfo {
     ARMTargetMachine &TM;
 
-    // MCPEs - List of the constant pool entries for the current machine
-    // function that's being processed.
-    const std::vector<MachineConstantPoolEntry> *MCPEs;
-
     // ConstPoolId2AddrMap - A map from constant pool ids to the corresponding
     // CONSTPOOL_ENTRY addresses.
     SmallVector<intptr_t, 16> ConstPoolId2AddrMap;
@@ -89,8 +85,7 @@ namespace llvm {
     /// Initialize - Initialize internal stage. Get the list of constant pool
     /// Resize constant pool ids to CONSTPOOL_ENTRY addresses map.
     void Initialize(const MachineFunction &MF) {
-      MCPEs = &MF.getConstantPool()->getConstants();
-      ConstPoolId2AddrMap.resize(MCPEs->size());
+      ConstPoolId2AddrMap.resize(MF.getConstantPool()->getConstants().size());
       JumpTableId2AddrMap.resize(MF.getJumpTableInfo()->getJumpTables().size());
     }