Simplify a bit
authorAndrew Lenharth <andrewl@lenharth.org>
Thu, 7 Dec 2006 23:55:55 +0000 (23:55 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Thu, 7 Dec 2006 23:55:55 +0000 (23:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32343 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaAsmPrinter.cpp
lib/Target/Alpha/AlphaLLRP.cpp
lib/Target/Alpha/AlphaTargetAsmInfo.cpp

index 4b71ab52920f88d5d1aa90de24b3cf1a58750866..be8973a337a261f67e52f40e97aa82ba75f55b96 100644 (file)
@@ -33,20 +33,11 @@ namespace {
 
     /// Unique incrementer for label values for referencing Global values.
     ///
-    unsigned LabelNumber;
 
     AlphaAsmPrinter(std::ostream &o, TargetMachine &tm, const TargetAsmInfo *T)
-       : AsmPrinter(o, tm, T), LabelNumber(0) {
+      : AsmPrinter(o, tm, T) {
     }
 
-    /// We name each basic block in a Function with a unique number, so
-    /// that we can consistently refer to them later. This is cleared
-    /// at the beginning of each call to runOnMachineFunction().
-    ///
-    typedef std::map<const Value *, unsigned> ValueMapTy;
-    ValueMapTy NumberForBB;
-    std::string CurSection;
-
     virtual const char *getPassName() const {
       return "Alpha Assembly Printer";
     }
@@ -54,7 +45,6 @@ namespace {
     void printOp(const MachineOperand &MO, bool IsCallOp = false);
     void printOperand(const MachineInstr *MI, int opNum);
     void printBaseOffsetPair (const MachineInstr *MI, int i, bool brackets=true);
-    void printMachineInstruction(const MachineInstr *MI);
     bool runOnMachineFunction(MachineFunction &F);
     bool doInitialization(Module &M);
     bool doFinalization(Module &M);
@@ -136,20 +126,6 @@ void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
   }
 }
 
-/// printMachineInstruction -- Print out a single Alpha MI to
-/// the current output stream.
-///
-void AlphaAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
-  ++EmittedInsts;
-  if (printInstruction(MI))
-    return; // Printer was automatically generated
-
-  assert(0 && "Unhandled instruction in asm writer!");
-  abort();
-  return;
-}
-
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -177,7 +153,7 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
      break;
   case Function::WeakLinkage:
   case Function::LinkOnceLinkage:
-    O << "\t.weak " << CurrentFnName << "\n";
+    O << TAI->getWeakRefDirective() << CurrentFnName << "\n";
     break;
   }
 
@@ -188,16 +164,21 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
   // Print out code for the function.
   for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
        I != E; ++I) {
-    printBasicBlockLabel(I, true);
-    O << '\n';
+    if (I != MF.begin()) {
+      printBasicBlockLabel(I, true);
+      O << '\n';
+    }
     for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
          II != E; ++II) {
       // Print the assembly for the instruction.
+      ++EmittedInsts;
       O << "\t";
-      printMachineInstruction(II);
+      if (!printInstruction(II)) {
+        assert(0 && "Unhandled instruction in asm writer!");
+        abort();
+      }
     }
   }
-  ++LabelNumber;
 
   O << "\t.end " << CurrentFnName << "\n";
 
index 06d217b77bb90ee71e15fbf6aa669750db7c6ca8..6e59e466b69e16c3dce1a5e5f2f58ab149b7d18c 100644 (file)
@@ -117,6 +117,9 @@ namespace {
             case Alpha::ALTENT:
             case Alpha::MEMLABEL:
             case Alpha::PCLABEL:
+            case Alpha::IDEF_I:
+            case Alpha::IDEF_F32:
+            case Alpha::IDEF_F64:
               --count;
               break;
             case Alpha::BR:
index 80ccd3122c9773666cd190a4f42b9750d245a25e..233d2c79fa0e0e4d7fbbcb4fdb14c4a864500394 100644 (file)
@@ -20,4 +20,5 @@ AlphaTargetAsmInfo::AlphaTargetAsmInfo(const AlphaTargetMachine &TM) {
   PrivateGlobalPrefix = "$";
   JumpTableDirective = ".gprel32";
   JumpTableDataSection = "\t.section .rodata\n";
+  WeakRefDirective = "\t.weak\t";
 }