[llvm-commits] [llvm] r140943 - in /llvm/trunk/lib/Target/ARM: ARMAsmPrinter.cpp ARMBaseInstrInfo.cpp ARMConstantPoolValue.cpp ARMConstantPoolValue.h

Bill Wendling isanbard at gmail.com
Sat Oct 1 02:30:43 PDT 2011


Author: void
Date: Sat Oct  1 04:30:42 2011
New Revision: 140943

URL: http://llvm.org/viewvc/llvm-project?rev=140943&view=rev
Log:
Use the ARMConstantPoolMBB class to handle the MBB values.

Modified:
    llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
    llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
    llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.cpp
    llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.h

Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=140943&r1=140942&r2=140943&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Sat Oct  1 04:30:42 2011
@@ -856,7 +856,7 @@
     const GlobalValue *GV = cast<ARMConstantPoolConstant>(ACPV)->getGV();
     MCSym = GetARMGVSymbol(GV);
   } else if (ACPV->isMachineBasicBlock()) {
-    const MachineBasicBlock *MBB = ACPV->getMBB();
+    const MachineBasicBlock *MBB = cast<ARMConstantPoolMBB>(ACPV)->getMBB();
     MCSym = MBB->getSymbol();
   } else {
     assert(ACPV->isExtSymbol() && "unrecognized constant pool value");

Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=140943&r1=140942&r2=140943&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Sat Oct  1 04:30:42 2011
@@ -1069,9 +1069,9 @@
     NewCPV = ARMConstantPoolConstant::Create(MF.getFunction(), PCLabelId,
                                              ARMCP::CPLSDA, 4);
   else if (ACPV->isMachineBasicBlock())
-    NewCPV = new ARMConstantPoolValue(MF.getFunction()->getContext(),
-                                      ACPV->getMBB(), PCLabelId,
-                                      ARMCP::CPMachineBasicBlock, 4);
+    NewCPV = ARMConstantPoolMBB::
+      Create(MF.getFunction()->getContext(),
+             cast<ARMConstantPoolMBB>(ACPV)->getMBB(), PCLabelId, 4);
   else
     llvm_unreachable("Unexpected ARM constantpool value type!!");
   CPI = MCP->getConstantPoolIndex(NewCPV, MCPE.getAlignment());

Modified: llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.cpp?rev=140943&r1=140942&r2=140943&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.cpp Sat Oct  1 04:30:42 2011
@@ -31,7 +31,7 @@
                                            unsigned char PCAdj,
                                            ARMCP::ARMCPModifier modifier,
                                            bool addCurrentAddress)
-  : MachineConstantPoolValue(Ty), MBB(NULL), LabelId(id), Kind(kind),
+  : MachineConstantPoolValue(Ty), LabelId(id), Kind(kind),
     PCAdjust(PCAdj), Modifier(modifier),
     AddCurrentAddress(addCurrentAddress) {}
 
@@ -44,23 +44,8 @@
     LabelId(id), Kind(kind), PCAdjust(PCAdj), Modifier(modifier),
     AddCurrentAddress(addCurrentAddress) {}
 
-ARMConstantPoolValue::ARMConstantPoolValue(LLVMContext &C,
-                                           const MachineBasicBlock *mbb,
-                                           unsigned id,
-                                           ARMCP::ARMCPKind K,
-                                           unsigned char PCAdj,
-                                           ARMCP::ARMCPModifier Modif,
-                                           bool AddCA)
-  : MachineConstantPoolValue((Type*)Type::getInt8PtrTy(C)),
-    MBB(mbb), LabelId(id), Kind(K), PCAdjust(PCAdj),
-    Modifier(Modif), AddCurrentAddress(AddCA) {}
-
 ARMConstantPoolValue::~ARMConstantPoolValue() {}
 
-const MachineBasicBlock *ARMConstantPoolValue::getMBB() const {
-  return MBB;
-}
-
 const char *ARMConstantPoolValue::getModifierText() const {
   switch (Modifier) {
   default: llvm_unreachable("Unknown modifier!");
@@ -120,8 +105,6 @@
 }
 
 void ARMConstantPoolValue::print(raw_ostream &O) const {
-  if (MBB)
-    O << "";
   if (Modifier) O << "(" << getModifierText() << ")";
   if (PCAdjust != 0) {
     O << "-(LPC" << LabelId << "+" << (unsigned)PCAdjust;
@@ -304,16 +287,17 @@
 // ARMConstantPoolMBB
 //===----------------------------------------------------------------------===//
 
-ARMConstantPoolMBB::ARMConstantPoolMBB(LLVMContext &C, MachineBasicBlock *mbb,
+ARMConstantPoolMBB::ARMConstantPoolMBB(LLVMContext &C,
+                                       const MachineBasicBlock *mbb,
                                        unsigned id, unsigned char PCAdj,
                                        ARMCP::ARMCPModifier Modifier,
                                        bool AddCurrentAddress)
-  : ARMConstantPoolValue(C, mbb, id, ARMCP::CPMachineBasicBlock, PCAdj,
+  : ARMConstantPoolValue(C, id, ARMCP::CPMachineBasicBlock, PCAdj,
                          Modifier, AddCurrentAddress),
     MBB(mbb) {}
 
 ARMConstantPoolMBB *ARMConstantPoolMBB::Create(LLVMContext &C,
-                                               MachineBasicBlock *mbb,
+                                               const MachineBasicBlock *mbb,
                                                unsigned ID,
                                                unsigned char PCAdj) {
   return new ARMConstantPoolMBB(C, mbb, ID, PCAdj, ARMCP::no_modifier, false);

Modified: llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.h?rev=140943&r1=140942&r2=140943&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.h (original)
+++ llvm/trunk/lib/Target/ARM/ARMConstantPoolValue.h Sat Oct  1 04:30:42 2011
@@ -49,7 +49,6 @@
 /// represent PC-relative displacement between the address of the load
 /// instruction and the constant being loaded, i.e. (&GV-(LPIC+8)).
 class ARMConstantPoolValue : public MachineConstantPoolValue {
-  const MachineBasicBlock *MBB; // MachineBasicBlock being loaded.
   unsigned LabelId;        // Label id of the load.
   ARMCP::ARMCPKind Kind;   // Kind of constant.
   unsigned char PCAdjust;  // Extra adjustment if constantpool is pc-relative.
@@ -66,15 +65,8 @@
                        unsigned char PCAdj, ARMCP::ARMCPModifier Modifier,
                        bool AddCurrentAddress);
 public:
-  ARMConstantPoolValue(LLVMContext &C, const MachineBasicBlock *mbb,unsigned id,
-                       ARMCP::ARMCPKind Kind = ARMCP::CPValue,
-                       unsigned char PCAdj = 0,
-                       ARMCP::ARMCPModifier Modifier = ARMCP::no_modifier,
-                       bool AddCurrentAddress = false);
   virtual ~ARMConstantPoolValue();
 
-  const MachineBasicBlock *getMBB() const;
-
   ARMCP::ARMCPModifier getModifier() const { return Modifier; }
   const char *getModifierText() const;
   bool hasModifier() const { return Modifier != ARMCP::no_modifier; }
@@ -200,14 +192,15 @@
 /// ARMConstantPoolMBB - ARM-specific constantpool value of a machine basic
 /// block.
 class ARMConstantPoolMBB : public ARMConstantPoolValue {
-  MachineBasicBlock *MBB;       // Machine basic block.
+  const MachineBasicBlock *MBB; // Machine basic block.
 
-  ARMConstantPoolMBB(LLVMContext &C, MachineBasicBlock *mbb, unsigned id,
+  ARMConstantPoolMBB(LLVMContext &C, const MachineBasicBlock *mbb, unsigned id,
                      unsigned char PCAdj, ARMCP::ARMCPModifier Modifier,
                      bool AddCurrentAddress);
 
 public:
-  static ARMConstantPoolMBB *Create(LLVMContext &C, MachineBasicBlock *mbb,
+  static ARMConstantPoolMBB *Create(LLVMContext &C,
+                                    const MachineBasicBlock *mbb,
                                     unsigned ID, unsigned char PCAdj);
 
   const MachineBasicBlock *getMBB() const { return MBB; }





More information about the llvm-commits mailing list