change the DBG_LABEL MachineInstr to always be created
authorChris Lattner <sabre@nondot.org>
Sun, 14 Mar 2010 07:56:48 +0000 (07:56 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Mar 2010 07:56:48 +0000 (07:56 +0000)
with an MCSymbol instead of an immediate.

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

lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/CellSPU/SPURegisterInfo.cpp
lib/Target/PowerPC/PPCCodeEmitter.cpp
lib/Target/PowerPC/PPCRegisterInfo.cpp
lib/Target/X86/X86CodeEmitter.cpp
lib/Target/X86/X86RegisterInfo.cpp
lib/Target/XCore/XCoreInstrInfo.cpp
lib/Target/XCore/XCoreRegisterInfo.cpp

index 66a2eee7a78596087a09481b4d6fb3953f5954cd..f20560088232c49752f070c408c3a9d538d0e8e0 100644 (file)
@@ -1553,13 +1553,7 @@ void AsmPrinter::printKill(const MachineInstr *MI) const {
 /// printLabel - This method prints a local label used by debug and
 /// exception handling tables.
 void AsmPrinter::printLabelInst(const MachineInstr *MI) const {
-  MCSymbol *Sym; 
-  
-  if (MI->getOperand(0).isMCSymbol())
-    Sym = MI->getOperand(0).getMCSymbol();
-  else
-    Sym = MMI->getLabelSym(MI->getOperand(0).getImm());
-  OutStreamer.EmitLabel(Sym);
+  OutStreamer.EmitLabel(MI->getOperand(0).getMCSymbol());
 }
 
 void AsmPrinter::printLabel(unsigned Id) const {
index e3b1dda39c972540027d49f3e580e228059c8f55..334c820b91cba376d562df82d9cfabe035064149 100644 (file)
@@ -564,8 +564,6 @@ void ARMCodeEmitter::emitPseudoInstruction(const MachineInstr &MI) {
     break;
   }
   case TargetOpcode::DBG_LABEL:
-    MCE.emitLabel(MMI->getLabelSym(MI.getOperand(0).getImm()));
-    break;
   case TargetOpcode::EH_LABEL:
     MCE.emitLabel(MI.getOperand(0).getMCSymbol());
     break;
index 4ba0cb13dff960a7c0996fe415f2f0b3ae113afe..915389c3313cbe6104bad992f1f73cabd2cf7cab 100644 (file)
@@ -453,7 +453,8 @@ void SPURegisterInfo::emitPrologue(MachineFunction &MF) const
     if (hasDebugInfo) {
       // Mark effective beginning of when frame pointer becomes valid.
       FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, dl, TII.get(SPU::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(SPU::DBG_LABEL))
+        .addSym(MMI->getLabelSym(FrameLabelId));
     }
 
     // Adjust stack pointer, spilling $lr -> 16($sp) and $sp -> -FrameSize($sp)
@@ -515,7 +516,8 @@ void SPURegisterInfo::emitPrologue(MachineFunction &MF) const
 
       // Mark effective beginning of when frame pointer is ready.
       unsigned ReadyLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, dl, TII.get(SPU::DBG_LABEL)).addImm(ReadyLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(SPU::DBG_LABEL))
+        .addSym(MMI->getLabelSym(ReadyLabelId));
 
       MachineLocation FPDst(SPU::R1);
       MachineLocation FPSrc(MachineLocation::VirtualFP);
@@ -531,7 +533,8 @@ void SPURegisterInfo::emitPrologue(MachineFunction &MF) const
 
       // Insert terminator label
       unsigned BranchLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, dl, TII.get(SPU::DBG_LABEL)).addImm(BranchLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(SPU::DBG_LABEL))
+        .addSym(MMI->getLabelSym(BranchLabelId));
     }
   }
 }
index 6c4cf800a55867f55c4d616a6c51c4f08f9c6bb3..f7c27d40a5b37b35d3aaf6468daa8c09f0df2793 100644 (file)
@@ -111,8 +111,6 @@ void PPCCodeEmitter::emitBasicBlock(MachineBasicBlock &MBB) {
       MCE.emitWordBE(getBinaryCodeForInstr(MI));
       break;
     case TargetOpcode::DBG_LABEL:
-      MCE.emitLabel(MMI->getLabelSym(MI.getOperand(0).getImm()));
-      break;
     case TargetOpcode::EH_LABEL:
       MCE.emitLabel(MI.getOperand(0).getMCSymbol());
       break;
index 31bca16c864a4be637e6e70363849370411497de..64e4e200ee9022cbe63bd9a4cb76a2db903bd19a 100644 (file)
@@ -1447,7 +1447,8 @@ PPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
   if (needsFrameMoves) {
     // Mark effective beginning of when frame pointer becomes valid.
     FrameLabelId = MMI->NextLabelID();
-    BuildMI(MBB, MBBI, dl, TII.get(PPC::DBG_LABEL)).addImm(FrameLabelId);
+    BuildMI(MBB, MBBI, dl, TII.get(PPC::DBG_LABEL))
+      .addSym(MMI->getLabelSym(FrameLabelId));
   
     // Show update of SP.
     if (NegFrameSize) {
@@ -1490,7 +1491,8 @@ PPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
       ReadyLabelId = MMI->NextLabelID();
 
       // Mark effective beginning of when frame pointer is ready.
-      BuildMI(MBB, MBBI, dl, TII.get(PPC::DBG_LABEL)).addImm(ReadyLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(PPC::DBG_LABEL))
+        .addSym(MMI->getLabelSym(ReadyLabelId));
 
       MachineLocation FPDst(HasFP ? (isPPC64 ? PPC::X31 : PPC::R31) :
                                     (isPPC64 ? PPC::X1 : PPC::R1));
index 1c6f754740f32482aa8801cc6fb6dae81500dcaf..6638e110f4f4e831538d48c16c5b3f3f654e7795 100644 (file)
@@ -603,8 +603,6 @@ void Emitter<CodeEmitter>::emitInstruction(const MachineInstr &MI,
         llvm_report_error("JIT does not support inline asm!");
       break;
     case TargetOpcode::DBG_LABEL:
-      MCE.emitLabel(MMI->getLabelSym(MI.getOperand(0).getImm()));
-      break;
     case TargetOpcode::GC_LABEL:
     case TargetOpcode::EH_LABEL:
       MCE.emitLabel(MI.getOperand(0).getMCSymbol());
index f46c631e3cb842c97523a3ae0786effc2d9f48d3..3c0607b2551eaba4bccea8e513cfbc223122460b 100644 (file)
@@ -960,7 +960,8 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
     if (needsFrameMoves) {
       // Mark the place where EBP/RBP was saved.
       unsigned FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL))
+        .addSym(MMI->getLabelSym(FrameLabelId));
 
       // Define the current CFA rule to use the provided offset.
       if (StackSize) {
@@ -988,7 +989,8 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
     if (needsFrameMoves) {
       // Mark effective beginning of when frame pointer becomes valid.
       unsigned FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL))
+        .addSym(MMI->getLabelSym(FrameLabelId));
 
       // Define the current CFA to use the EBP/RBP register.
       MachineLocation FPDst(FramePtr);
@@ -1028,7 +1030,8 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
     if (!HasFP && needsFrameMoves) {
       // Mark callee-saved push instruction.
       unsigned LabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL)).addImm(LabelId);
+      BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL))
+        .addSym(MMI->getLabelSym(LabelId));
 
       // Define the current CFA rule to use the provided offset.
       unsigned Ptr = StackSize ?
@@ -1100,7 +1103,8 @@ void X86RegisterInfo::emitPrologue(MachineFunction &MF) const {
   if ((NumBytes || PushedRegs) && needsFrameMoves) {
     // Mark end of stack pointer adjustment.
     unsigned LabelId = MMI->NextLabelID();
-    BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL)).addImm(LabelId);
+    BuildMI(MBB, MBBI, DL, TII.get(X86::DBG_LABEL))
+      .addSym(MMI->getLabelSym(LabelId));
 
     if (!HasFP && NumBytes) {
       // Define the current CFA rule to use the provided offset.
index 722e7470f066d1d1989e17c1bef1b6a751b385b1..801116e4e8ee3b480222cb1d2197cac233a291f8 100644 (file)
@@ -430,7 +430,8 @@ bool XCoreInstrInfo::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
                         it->getFrameIdx(), it->getRegClass());
     if (emitFrameMoves) {
       unsigned SaveLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MI, DL, get(XCore::DBG_LABEL)).addImm(SaveLabelId);
+      BuildMI(MBB, MI, DL, get(XCore::DBG_LABEL))
+        .addSym(MMI->getLabelSym(SaveLabelId));
       XFI->getSpillLabels().push_back(
           std::pair<unsigned, CalleeSavedInfo>(SaveLabelId, *it));
     }
index 0ab312eb27609237192f072073dd9039da322200..6a00afaa4b0ce2e5c05968d41b9f803db457d2b2 100644 (file)
@@ -457,7 +457,8 @@ void XCoreRegisterInfo::emitPrologue(MachineFunction &MF) const {
       
       // Show update of SP.
       unsigned FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL))
+        .addSym(MMI->getLabelSym(FrameLabelId));
       
       MachineLocation SPDst(MachineLocation::VirtualFP);
       MachineLocation SPSrc(MachineLocation::VirtualFP, -FrameSize * 4);
@@ -476,7 +477,8 @@ void XCoreRegisterInfo::emitPrologue(MachineFunction &MF) const {
       
       if (emitFrameMoves) {
         unsigned SaveLRLabelId = MMI->NextLabelID();
-        BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(SaveLRLabelId);
+        BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL))
+          .addSym(MMI->getLabelSym(SaveLRLabelId));
         MachineLocation CSDst(MachineLocation::VirtualFP, LRSpillOffset);
         MachineLocation CSSrc(XCore::LR);
         MMI->getFrameMoves().push_back(MachineMove(SaveLRLabelId,
@@ -493,7 +495,8 @@ void XCoreRegisterInfo::emitPrologue(MachineFunction &MF) const {
     MBB.addLiveIn(XCore::R10);
     if (emitFrameMoves) {
       unsigned SaveR10LabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(SaveR10LabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL))
+        .addSym(MMI->getLabelSym(SaveR10LabelId));
       MachineLocation CSDst(MachineLocation::VirtualFP, FPSpillOffset);
       MachineLocation CSSrc(XCore::R10);
       MMI->getFrameMoves().push_back(MachineMove(SaveR10LabelId,
@@ -506,7 +509,8 @@ void XCoreRegisterInfo::emitPrologue(MachineFunction &MF) const {
     if (emitFrameMoves) {
       // Show FP is now valid.
       unsigned FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL))
+        .addSym(MMI->getLabelSym(FrameLabelId));
       MachineLocation SPDst(FramePtr);
       MachineLocation SPSrc(MachineLocation::VirtualFP);
       MMI->getFrameMoves().push_back(MachineMove(FrameLabelId, SPDst, SPSrc));