Add a convenience method to tell if two things are equal.
authorBill Wendling <isanbard@gmail.com>
Sat, 1 Oct 2011 12:44:28 +0000 (12:44 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 1 Oct 2011 12:44:28 +0000 (12:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140946 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMConstantPoolValue.cpp
lib/Target/ARM/ARMConstantPoolValue.h

index 2c200bdf2f34faa95aeb7457f55cd7a44c2ff8e4..729ecc634250298dc56f533d841289a165580279 100644 (file)
@@ -69,9 +69,7 @@ int ARMConstantPoolValue::getExistingMachineCPValue(MachineConstantPool *CP,
         (Constants[i].getAlignment() & AlignMask) == 0) {
       ARMConstantPoolValue *CPV =
         (ARMConstantPoolValue *)Constants[i].Val.MachineCPVal;
-      if (CPV->LabelId == LabelId &&
-          CPV->PCAdjust == PCAdjust &&
-          CPV->Modifier == Modifier)
+      if (this->equals(CPV))
         return i;
     }
   }
@@ -186,11 +184,7 @@ int ARMConstantPoolConstant::getExistingMachineCPValue(MachineConstantPool *CP,
         (ARMConstantPoolValue *)Constants[i].Val.MachineCPVal;
       ARMConstantPoolConstant *APC = dyn_cast<ARMConstantPoolConstant>(CPV);
       if (!APC) continue;
-
-      if (APC->getGV() == this->CVal &&
-          APC->getLabelId() == this->getLabelId() &&
-          APC->getPCAdjustment() == this->getPCAdjustment() &&
-          APC->getModifier() == this->getModifier())
+      if (APC->CVal == CVal && equals(APC))
         return i;
     }
   }
@@ -256,10 +250,7 @@ int ARMConstantPoolSymbol::getExistingMachineCPValue(MachineConstantPool *CP,
       ARMConstantPoolSymbol *APS = dyn_cast<ARMConstantPoolSymbol>(CPV);
       if (!APS) continue;
 
-      if (APS->getLabelId() == this->getLabelId() &&
-          APS->getPCAdjustment() == this->getPCAdjustment() &&
-          CPV_streq(APS->getSymbol(), this->getSymbol()) &&
-          APS->getModifier() == this->getModifier())
+      if (CPV_streq(APS->S, S) && equals(APS))
         return i;
     }
   }
@@ -315,10 +306,7 @@ int ARMConstantPoolMBB::getExistingMachineCPValue(MachineConstantPool *CP,
       ARMConstantPoolMBB *APMBB = dyn_cast<ARMConstantPoolMBB>(CPV);
       if (!APMBB) continue;
 
-      if (APMBB->getLabelId() == this->getLabelId() &&
-          APMBB->getPCAdjustment() == this->getPCAdjustment() &&
-          APMBB->getMBB() == this->getMBB() &&
-          APMBB->getModifier() == this->getModifier())
+      if (APMBB->MBB == MBB && equals(APMBB))
         return i;
     }
   }
index f1176f60fb019598e6ef4a54f04248d274b7b089..0d0def32b7d8a588959707b25cff0f9cf1836b5f 100644 (file)
@@ -93,6 +93,12 @@ public:
   /// constantpool entry as another ARM constpool value.
   virtual bool hasSameValue(ARMConstantPoolValue *ACPV);
 
+  bool equals(const ARMConstantPoolValue *A) const {
+    return this->LabelId == A->LabelId &&
+      this->PCAdjust == A->PCAdjust &&
+      this->Modifier == A->Modifier;
+  }
+
   virtual void print(raw_ostream &O) const;
   void print(raw_ostream *O) const { if (O) print(*O); }
   void dump() const;