rename printPICJumpTableEntry -> EmitJumpTableEntry,
authorChris Lattner <sabre@nondot.org>
Tue, 26 Jan 2010 05:10:10 +0000 (05:10 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 26 Jan 2010 05:10:10 +0000 (05:10 +0000)
make it private and non-virtual.  It handles the non-pic
case too, so just use it, simplifying EmitJumpTableInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94517 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/AsmPrinter.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp

index 98a28a2eee58ef8713fc1d336e226e4c7a849626..09a5cd89b6640cec13cddd06b3db389f9e536d25 100644 (file)
@@ -352,9 +352,6 @@ namespace llvm {
     /// specified MachineBasicBlock for a jumptable entry.
     virtual void printPICJumpTableSetLabel(unsigned uid,
                                            const MachineBasicBlock *MBB) const;
-    virtual void printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
-                                        const MachineBasicBlock *MBB,
-                                        unsigned uid) const;
     
     /// printVisibility - This prints visibility information about symbol, if
     /// this is suported by the target.
@@ -364,6 +361,9 @@ namespace llvm {
     void printOffset(int64_t Offset) const;
  
   private:
+    void EmitJumpTableEntry(const MachineJumpTableInfo *MJTI,
+                            const MachineBasicBlock *MBB,
+                            unsigned uid) const;
     void EmitLLVMUsedList(Constant *List);
     void EmitXXStructorList(Constant *List);
     GCMetadataPrinter *GetOrCreateGCPrinter(GCStrategy *C);
index 5c46da52c2af49cc28819d5166949ba0b38339f0..1b58f1ab00f9c18dad57902e7725c1ab521e4954 100644 (file)
@@ -503,7 +503,6 @@ void AsmPrinter::EmitJumpTableInfo(MachineFunction &MF) {
     JTInDiffSection = true;
   }
 
-  unsigned EntrySize = MJTI->getEntrySize(*TM.getTargetData());
   EmitAlignment(Log2_32(MJTI->getEntryAlignment(*TM.getTargetData())));
   
   for (unsigned i = 0, e = JT.size(); i != e; ++i) {
@@ -530,28 +529,20 @@ void AsmPrinter::EmitJumpTableInfo(MachineFunction &MF) {
 
     OutStreamer.EmitLabel(GetJTISymbol(i));
 
-    if (!IsPic) {
-      // In non-pic mode, the entries in the jump table are direct references
-      // to the basic blocks.
-      for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii) {
-        MCSymbol *MBBSym = JTBBs[ii]->getSymbol(OutContext);
-        OutStreamer.EmitValue(MCSymbolRefExpr::Create(MBBSym, OutContext),
-                              EntrySize, /*addrspace*/0);
-      }      
-    } else {
-      for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii)
-        printPICJumpTableEntry(MJTI, JTBBs[ii], i);
-    }
+    for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii)
+      EmitJumpTableEntry(MJTI, JTBBs[ii], i);
   }
 }
 
-void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
-                                        const MachineBasicBlock *MBB,
-                                        unsigned uid) const {
+/// EmitJumpTableEntry - Emit a jump table entry for the specified MBB to the
+/// current stream.
+void AsmPrinter::EmitJumpTableEntry(const MachineJumpTableInfo *MJTI,
+                                    const MachineBasicBlock *MBB,
+                                    unsigned UID) const {
   const MCExpr *Value = 0;
   switch (MJTI->getEntryKind()) {
   case MachineJumpTableInfo::EK_Custom32:
-    Value = TM.getTargetLowering()->LowerCustomJumpTableEntry(MJTI, MBB, uid,
+    Value = TM.getTargetLowering()->LowerCustomJumpTableEntry(MJTI, MBB, UID,
                                                               OutContext);
     break;
   case MachineJumpTableInfo::EK_BlockAddress:
@@ -582,13 +573,13 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
     // emit the table entries as differences between two text section labels.
     if (MAI->getSetDirective()) {
       // If we used .set, reference the .set's symbol.
-      Value = MCSymbolRefExpr::Create(GetJTSetSymbol(uid, MBB->getNumber()),
+      Value = MCSymbolRefExpr::Create(GetJTSetSymbol(UID, MBB->getNumber()),
                                       OutContext);
       break;
     }
     // Otherwise, use the difference as the jump table entry.
     Value = MCSymbolRefExpr::Create(MBB->getSymbol(OutContext), OutContext);
-    const MCExpr *JTI = MCSymbolRefExpr::Create(GetJTISymbol(uid), OutContext);
+    const MCExpr *JTI = MCSymbolRefExpr::Create(GetJTISymbol(UID), OutContext);
     Value = MCBinaryExpr::CreateSub(Value, JTI, OutContext);
     break;
   }