[llvm-commits] [llvm] r64552 [2/2] - in /llvm/branches/Apple/Dib: include/llvm/CodeGen/ include/llvm/Target/ lib/CodeGen/ lib/CodeGen/AsmPrinter/ lib/CodeGen/SelectionDAG/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/CellSPU/ lib/Target/IA64/ lib/Target/Mips/ lib/Target/PIC16/ lib/Target/PowerPC/ lib/Target/Sparc/ lib/Target/X86/ lib/Target/X86/AsmPrinter/ lib/Target/XCore/ utils/TableGen/

Bill Wendling isanbard at gmail.com
Sat Feb 14 05:20:35 PST 2009


Modified: llvm/branches/Apple/Dib/lib/Target/XCore/XCoreInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Dib/lib/Target/XCore/XCoreInstrInfo.cpp?rev=64552&r1=64551&r2=64552&view=diff

==============================================================================
--- llvm/branches/Apple/Dib/lib/Target/XCore/XCoreInstrInfo.cpp (original)
+++ llvm/branches/Apple/Dib/lib/Target/XCore/XCoreInstrInfo.cpp Sat Feb 14 07:20:23 2009
@@ -302,6 +302,8 @@
 XCoreInstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB,
                              MachineBasicBlock *FBB,
                              const SmallVectorImpl<MachineOperand> &Cond)const{
+  // FIXME there should probably be a DebugLoc argument here
+  DebugLoc dl = DebugLoc::getUnknownLoc();
   // Shouldn't be a fall through.
   assert(TBB && "InsertBranch must not be told to insert a fallthrough");
   assert((Cond.size() == 2 || Cond.size() == 0) &&
@@ -310,11 +312,11 @@
   if (FBB == 0) { // One way branch.
     if (Cond.empty()) {
       // Unconditional branch
-      BuildMI(&MBB, get(XCore::BRFU_lu6)).addMBB(TBB);
+      BuildMI(&MBB, dl, get(XCore::BRFU_lu6)).addMBB(TBB);
     } else {
       // Conditional branch.
       unsigned Opc = GetCondBranchFromCond((XCore::CondCode)Cond[0].getImm());
-      BuildMI(&MBB, get(Opc)).addReg(Cond[1].getReg())
+      BuildMI(&MBB, dl, get(Opc)).addReg(Cond[1].getReg())
                              .addMBB(TBB);
     }
     return 1;
@@ -323,9 +325,9 @@
   // Two-way Conditional branch.
   assert(Cond.size() == 2 && "Unexpected number of components!");
   unsigned Opc = GetCondBranchFromCond((XCore::CondCode)Cond[0].getImm());
-  BuildMI(&MBB, get(Opc)).addReg(Cond[1].getReg())
+  BuildMI(&MBB, dl, get(Opc)).addReg(Cond[1].getReg())
                          .addMBB(TBB);
-  BuildMI(&MBB, get(XCore::BRFU_lu6)).addMBB(FBB);
+  BuildMI(&MBB, dl, get(XCore::BRFU_lu6)).addMBB(FBB);
   return 2;
 }
 
@@ -353,13 +355,18 @@
 }
 
 bool XCoreInstrInfo::copyRegToReg(MachineBasicBlock &MBB,
-                                     MachineBasicBlock::iterator I,
-                                     unsigned DestReg, unsigned SrcReg,
-                                     const TargetRegisterClass *DestRC,
-                                     const TargetRegisterClass *SrcRC) const {
+                                  MachineBasicBlock::iterator I,
+                                  unsigned DestReg, unsigned SrcReg,
+                                  const TargetRegisterClass *DestRC,
+                                  const TargetRegisterClass *SrcRC) const {
+  DebugLoc DL = DebugLoc::getUnknownLoc();
+  if (I != MBB.end()) DL = I->getDebugLoc();
+
   if (DestRC == SrcRC) {
     if (DestRC == XCore::GRRegsRegisterClass) {
-      BuildMI(MBB, I, get(XCore::ADD_2rus), DestReg).addReg(SrcReg).addImm(0);
+      BuildMI(MBB, I, DL, get(XCore::ADD_2rus), DestReg)
+        .addReg(SrcReg)
+        .addImm(0);
       return true;
     } else {
       return false;
@@ -368,24 +375,31 @@
   
   if (SrcRC == XCore::RRegsRegisterClass && SrcReg == XCore::SP &&
     DestRC == XCore::GRRegsRegisterClass) {
-    BuildMI(MBB, I, get(XCore::LDAWSP_ru6), DestReg).addImm(0);
+    BuildMI(MBB, I, DL, get(XCore::LDAWSP_ru6), DestReg)
+      .addImm(0);
     return true;
   }
   if (DestRC == XCore::RRegsRegisterClass && DestReg == XCore::SP &&
     SrcRC == XCore::GRRegsRegisterClass) {
-    BuildMI(MBB, I, get(XCore::SETSP_1r)).addReg(SrcReg);
+    BuildMI(MBB, I, DL, get(XCore::SETSP_1r))
+      .addReg(SrcReg);
     return true;
   }
   return false;
 }
 
 void XCoreInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
-                                  MachineBasicBlock::iterator I,
-                                  unsigned SrcReg, bool isKill, int FrameIndex,
-                                  const TargetRegisterClass *RC) const
-{
-  BuildMI(MBB, I, get(XCore::STWFI)).addReg(SrcReg, false, false, isKill)
-                                    .addFrameIndex(FrameIndex).addImm(0);
+                                         MachineBasicBlock::iterator I,
+                                         unsigned SrcReg, bool isKill,
+                                         int FrameIndex,
+                                         const TargetRegisterClass *RC) const
+{
+  DebugLoc DL = DebugLoc::getUnknownLoc();
+  if (I != MBB.end()) DL = I->getDebugLoc();
+  BuildMI(MBB, I, DL, get(XCore::STWFI))
+    .addReg(SrcReg, false, false, isKill)
+    .addFrameIndex(FrameIndex)
+    .addImm(0);
 }
 
 void XCoreInstrInfo::storeRegToAddr(MachineFunction &MF, unsigned SrcReg,
@@ -397,12 +411,15 @@
 }
 
 void XCoreInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
-                                  MachineBasicBlock::iterator I,
-                                  unsigned DestReg, int FrameIndex,
-                                  const TargetRegisterClass *RC) const
-{
-  BuildMI(MBB, I, get(XCore::LDWFI), DestReg).addFrameIndex(FrameIndex)
-                                             .addImm(0);
+                                          MachineBasicBlock::iterator I,
+                                          unsigned DestReg, int FrameIndex,
+                                          const TargetRegisterClass *RC) const
+{
+  DebugLoc DL = DebugLoc::getUnknownLoc();
+  if (I != MBB.end()) DL = I->getDebugLoc();
+  BuildMI(MBB, I, DL, get(XCore::LDWFI), DestReg)
+    .addFrameIndex(FrameIndex)
+    .addImm(0);
 }
 
 void XCoreInstrInfo::loadRegFromAddr(MachineFunction &MF, unsigned DestReg,
@@ -426,6 +443,9 @@
   XCoreFunctionInfo *XFI = MF->getInfo<XCoreFunctionInfo>();
   
   bool emitFrameMoves = XCoreRegisterInfo::needsFrameMoves(*MF);
+
+  DebugLoc DL = DebugLoc::getUnknownLoc();
+  if (MI != MBB.end()) DL = MI->getDebugLoc();
   
   for (std::vector<CalleeSavedInfo>::const_iterator it = CSI.begin();
                                                     it != CSI.end(); ++it) {
@@ -433,10 +453,10 @@
     MBB.addLiveIn(it->getReg());
 
     storeRegToStackSlot(MBB, MI, it->getReg(), true,
-                                   it->getFrameIdx(), it->getRegClass());
+                        it->getFrameIdx(), it->getRegClass());
     if (emitFrameMoves) {
       unsigned SaveLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MI, get(XCore::DBG_LABEL)).addImm(SaveLabelId);
+      BuildMI(MBB, MI, DL, get(XCore::DBG_LABEL)).addImm(SaveLabelId);
       XFI->getSpillLabels().push_back(
           std::pair<unsigned, CalleeSavedInfo>(SaveLabelId, *it));
     }

Modified: llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.cpp?rev=64552&r1=64551&r2=64552&view=diff

==============================================================================
--- llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.cpp Sat Feb 14 07:20:23 2009
@@ -150,12 +150,12 @@
       MachineInstr *New;
       if (Old->getOpcode() == XCore::ADJCALLSTACKDOWN) {
         int Opcode = isU6 ? XCore::EXTSP_u6 : XCore::EXTSP_lu6;
-        New=BuildMI(MF, TII.get(Opcode))
+        New=BuildMI(MF, Old->getDebugLoc(), TII.get(Opcode))
           .addImm(Amount);
       } else {
         assert(Old->getOpcode() == XCore::ADJCALLSTACKUP);
         int Opcode = isU6 ? XCore::LDAWSP_ru6_RRegs : XCore::LDAWSP_lru6_RRegs;
-        New=BuildMI(MF, TII.get(Opcode), XCore::SP)
+        New=BuildMI(MF, Old->getDebugLoc(), TII.get(Opcode), XCore::SP)
           .addImm(Amount);
       }
 
@@ -171,6 +171,7 @@
                                             int SPAdj, RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unexpected");
   MachineInstr &MI = *II;
+  DebugLoc dl = MI.getDebugLoc();
   unsigned i = 0;
 
   while (!MI.getOperand(i).isFI()) {
@@ -231,21 +232,21 @@
       }
       unsigned ScratchReg = RS->scavengeRegister(XCore::GRRegsRegisterClass, II,
                                                  SPAdj);
-      loadConstant(MBB, II, ScratchReg, Offset);
+      loadConstant(MBB, II, ScratchReg, Offset, dl);
       switch (MI.getOpcode()) {
       case XCore::LDWFI:
-        New = BuildMI(MBB, II, TII.get(XCore::LDW_3r), Reg)
+        New = BuildMI(MBB, II, dl, TII.get(XCore::LDW_3r), Reg)
               .addReg(FramePtr)
               .addReg(ScratchReg, false, false, true);
         break;
       case XCore::STWFI:
-        New = BuildMI(MBB, II, TII.get(XCore::STW_3r))
+        New = BuildMI(MBB, II, dl, TII.get(XCore::STW_3r))
               .addReg(Reg, false, false, isKill)
               .addReg(FramePtr)
               .addReg(ScratchReg, false, false, true);
         break;
       case XCore::LDAWFI:
-        New = BuildMI(MBB, II, TII.get(XCore::LDAWF_l3r), Reg)
+        New = BuildMI(MBB, II, dl, TII.get(XCore::LDAWF_l3r), Reg)
               .addReg(FramePtr)
               .addReg(ScratchReg, false, false, true);
         break;
@@ -255,18 +256,18 @@
     } else {
       switch (MI.getOpcode()) {
       case XCore::LDWFI:
-        New = BuildMI(MBB, II, TII.get(XCore::LDW_2rus), Reg)
+        New = BuildMI(MBB, II, dl, TII.get(XCore::LDW_2rus), Reg)
               .addReg(FramePtr)
               .addImm(Offset);
         break;
       case XCore::STWFI:
-        New = BuildMI(MBB, II, TII.get(XCore::STW_2rus))
+        New = BuildMI(MBB, II, dl, TII.get(XCore::STW_2rus))
               .addReg(Reg, false, false, isKill)
               .addReg(FramePtr)
               .addImm(Offset);
         break;
       case XCore::LDAWFI:
-        New = BuildMI(MBB, II, TII.get(XCore::LDAWF_l2rus), Reg)
+        New = BuildMI(MBB, II, dl, TII.get(XCore::LDAWF_l2rus), Reg)
               .addReg(FramePtr)
               .addImm(Offset);
         break;
@@ -286,18 +287,18 @@
     int NewOpcode;
     case XCore::LDWFI:
       NewOpcode = (isU6) ? XCore::LDWSP_ru6 : XCore::LDWSP_lru6;
-      BuildMI(MBB, II, TII.get(NewOpcode), Reg)
+      BuildMI(MBB, II, dl, TII.get(NewOpcode), Reg)
             .addImm(Offset);
       break;
     case XCore::STWFI:
       NewOpcode = (isU6) ? XCore::STWSP_ru6 : XCore::STWSP_lru6;
-      BuildMI(MBB, II, TII.get(NewOpcode))
+      BuildMI(MBB, II, dl, TII.get(NewOpcode))
             .addReg(Reg, false, false, isKill)
             .addImm(Offset);
       break;
     case XCore::LDAWFI:
       NewOpcode = (isU6) ? XCore::LDAWSP_ru6 : XCore::LDAWSP_lru6;
-      BuildMI(MBB, II, TII.get(NewOpcode), Reg)
+      BuildMI(MBB, II, dl, TII.get(NewOpcode), Reg)
             .addImm(Offset);
       break;
     default:
@@ -349,7 +350,7 @@
 
 void XCoreRegisterInfo::
 loadConstant(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
-            unsigned DstReg, int64_t Value) const {
+            unsigned DstReg, int64_t Value, DebugLoc dl) const {
   // TODO use mkmsk if possible.
   if (!isImmU16(Value)) {
     // TODO use constant pool.
@@ -357,12 +358,12 @@
     abort();
   }
   int Opcode = isImmU6(Value) ? XCore::LDC_ru6 : XCore::LDC_lru6;
-  BuildMI(MBB, I, TII.get(Opcode), DstReg).addImm(Value);
+  BuildMI(MBB, I, dl, TII.get(Opcode), DstReg).addImm(Value);
 }
 
 void XCoreRegisterInfo::
 storeToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
-                  unsigned SrcReg, int Offset) const {
+                  unsigned SrcReg, int Offset, DebugLoc dl) const {
   assert(Offset%4 == 0 && "Misaligned stack offset");
   Offset/=4;
   bool isU6 = isImmU6(Offset);
@@ -371,23 +372,23 @@
     abort();
   }
   int Opcode = isU6 ? XCore::STWSP_ru6 : XCore::STWSP_lru6;
-  BuildMI(MBB, I, TII.get(Opcode))
+  BuildMI(MBB, I, dl, TII.get(Opcode))
     .addReg(SrcReg)
     .addImm(Offset);
 }
 
 void XCoreRegisterInfo::
 loadFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
-                  unsigned DstReg, int Offset) const {
+                  unsigned DstReg, int Offset, DebugLoc dl) const {
   assert(Offset%4 == 0 && "Misaligned stack offset");
   Offset/=4;
   bool isU6 = isImmU6(Offset);
   if (!isU6 && !isImmU16(Offset)) {
-    cerr << "storeToStack offset too big " << Offset << "\n";
+    cerr << "loadFromStack offset too big " << Offset << "\n";
     abort();
   }
   int Opcode = isU6 ? XCore::LDWSP_ru6 : XCore::LDWSP_lru6;
-  BuildMI(MBB, I, TII.get(Opcode), DstReg)
+  BuildMI(MBB, I, dl, TII.get(Opcode), DstReg)
     .addImm(Offset);
 }
 
@@ -397,6 +398,7 @@
   MachineFrameInfo *MFI = MF.getFrameInfo();
   MachineModuleInfo *MMI = MFI->getMachineModuleInfo();
   XCoreFunctionInfo *XFI = MF.getInfo<XCoreFunctionInfo>();
+  DebugLoc dl = DebugLoc::getUnknownLoc();
 
   bool FP = hasFP(MF);
 
@@ -429,14 +431,14 @@
     } else {
       Opcode = (isU6) ? XCore::EXTSP_u6 : XCore::EXTSP_lu6;
     }
-    BuildMI(MBB, MBBI, TII.get(Opcode)).addImm(FrameSize);
+    BuildMI(MBB, MBBI, dl, TII.get(Opcode)).addImm(FrameSize);
     
     if (emitFrameMoves) {
       std::vector<MachineMove> &Moves = MMI->getFrameMoves();
       
       // Show update of SP.
       unsigned FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, TII.get(XCore::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(FrameLabelId);
       
       MachineLocation SPDst(MachineLocation::VirtualFP);
       MachineLocation SPSrc(MachineLocation::VirtualFP, -FrameSize * 4);
@@ -450,12 +452,12 @@
     }
     if (saveLR) {
       int LRSpillOffset = MFI->getObjectOffset(XFI->getLRSpillSlot());
-      storeToStack(MBB, MBBI, XCore::LR, LRSpillOffset + FrameSize*4);
+      storeToStack(MBB, MBBI, XCore::LR, LRSpillOffset + FrameSize*4, dl);
       MBB.addLiveIn(XCore::LR);
       
       if (emitFrameMoves) {
         unsigned SaveLRLabelId = MMI->NextLabelID();
-        BuildMI(MBB, MBBI, TII.get(XCore::DBG_LABEL)).addImm(SaveLRLabelId);
+        BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(SaveLRLabelId);
         MachineLocation CSDst(MachineLocation::VirtualFP, LRSpillOffset);
         MachineLocation CSSrc(XCore::LR);
         MMI->getFrameMoves().push_back(MachineMove(SaveLRLabelId,
@@ -467,12 +469,12 @@
   if (FP) {
     // Save R10 to the stack.
     int FPSpillOffset = MFI->getObjectOffset(XFI->getFPSpillSlot());
-    storeToStack(MBB, MBBI, XCore::R10, FPSpillOffset + FrameSize*4);
+    storeToStack(MBB, MBBI, XCore::R10, FPSpillOffset + FrameSize*4, dl);
     // R10 is live-in. It is killed at the spill.
     MBB.addLiveIn(XCore::R10);
     if (emitFrameMoves) {
       unsigned SaveR10LabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, TII.get(XCore::DBG_LABEL)).addImm(SaveR10LabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(SaveR10LabelId);
       MachineLocation CSDst(MachineLocation::VirtualFP, FPSpillOffset);
       MachineLocation CSSrc(XCore::R10);
       MMI->getFrameMoves().push_back(MachineMove(SaveR10LabelId,
@@ -480,12 +482,12 @@
     }
     // Set the FP from the SP.
     unsigned FramePtr = XCore::R10;
-    BuildMI(MBB, MBBI, TII.get(XCore::LDAWSP_ru6), FramePtr)
+    BuildMI(MBB, MBBI, dl, TII.get(XCore::LDAWSP_ru6), FramePtr)
       .addImm(0);
     if (emitFrameMoves) {
       // Show FP is now valid.
       unsigned FrameLabelId = MMI->NextLabelID();
-      BuildMI(MBB, MBBI, TII.get(XCore::DBG_LABEL)).addImm(FrameLabelId);
+      BuildMI(MBB, MBBI, dl, TII.get(XCore::DBG_LABEL)).addImm(FrameLabelId);
       MachineLocation SPDst(FramePtr);
       MachineLocation SPSrc(MachineLocation::VirtualFP);
       MMI->getFrameMoves().push_back(MachineMove(FrameLabelId, SPDst, SPSrc));
@@ -513,13 +515,14 @@
                                      MachineBasicBlock &MBB) const {
   MachineFrameInfo *MFI            = MF.getFrameInfo();
   MachineBasicBlock::iterator MBBI = prior(MBB.end());
+  DebugLoc dl = DebugLoc::getUnknownLoc();
   
   bool FP = hasFP(MF);
   
   if (FP) {
     // Restore the stack pointer.
     unsigned FramePtr = XCore::R10;
-    BuildMI(MBB, MBBI, TII.get(XCore::SETSP_1r))
+    BuildMI(MBB, MBBI, dl, TII.get(XCore::SETSP_1r))
       .addReg(FramePtr);
   }
 
@@ -545,13 +548,13 @@
       // Restore R10
       int FPSpillOffset = MFI->getObjectOffset(XFI->getFPSpillSlot());
       FPSpillOffset += FrameSize*4;
-      loadFromStack(MBB, MBBI, XCore::R10, FPSpillOffset);
+      loadFromStack(MBB, MBBI, XCore::R10, FPSpillOffset, dl);
     }
     bool restoreLR = XFI->getUsesLR();
     if (restoreLR && MFI->getObjectOffset(XFI->getLRSpillSlot()) != 0) {
       int LRSpillOffset = MFI->getObjectOffset(XFI->getLRSpillSlot());
       LRSpillOffset += FrameSize*4;
-      loadFromStack(MBB, MBBI, XCore::LR, LRSpillOffset);
+      loadFromStack(MBB, MBBI, XCore::LR, LRSpillOffset, dl);
       restoreLR = false;
     }
     if (restoreLR) {
@@ -559,11 +562,11 @@
       assert(MBBI->getOpcode() == XCore::RETSP_u6
         || MBBI->getOpcode() == XCore::RETSP_lu6);
       int Opcode = (isU6) ? XCore::RETSP_u6 : XCore::RETSP_lu6;
-      BuildMI(MBB, MBBI, TII.get(Opcode)).addImm(FrameSize);
+      BuildMI(MBB, MBBI, dl, TII.get(Opcode)).addImm(FrameSize);
       MBB.erase(MBBI);
     } else {
       int Opcode = (isU6) ? XCore::LDAWSP_ru6_RRegs : XCore::LDAWSP_lru6_RRegs;
-      BuildMI(MBB, MBBI, TII.get(Opcode), XCore::SP).addImm(FrameSize);
+      BuildMI(MBB, MBBI, dl, TII.get(Opcode), XCore::SP).addImm(FrameSize);
     }
   }
 }

Modified: llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.h?rev=64552&r1=64551&r2=64552&view=diff

==============================================================================
--- llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.h (original)
+++ llvm/branches/Apple/Dib/lib/Target/XCore/XCoreRegisterInfo.h Sat Feb 14 07:20:23 2009
@@ -27,15 +27,15 @@
 
   void loadConstant(MachineBasicBlock &MBB,
                   MachineBasicBlock::iterator I,
-                  unsigned DstReg, int64_t Value) const;
+                  unsigned DstReg, int64_t Value, DebugLoc dl) const;
 
   void storeToStack(MachineBasicBlock &MBB,
                   MachineBasicBlock::iterator I,
-                  unsigned SrcReg, int Offset) const;
+                  unsigned SrcReg, int Offset, DebugLoc dl) const;
 
   void loadFromStack(MachineBasicBlock &MBB,
                   MachineBasicBlock::iterator I,
-                  unsigned DstReg, int Offset) const;
+                  unsigned DstReg, int Offset, DebugLoc dl) const;
 
 public:
   XCoreRegisterInfo(const TargetInstrInfo &tii);

Modified: llvm/branches/Apple/Dib/utils/TableGen/DAGISelEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Dib/utils/TableGen/DAGISelEmitter.cpp?rev=64552&r1=64551&r2=64552&view=diff

==============================================================================
--- llvm/branches/Apple/Dib/utils/TableGen/DAGISelEmitter.cpp (original)
+++ llvm/branches/Apple/Dib/utils/TableGen/DAGISelEmitter.cpp Sat Feb 14 07:20:23 2009
@@ -978,7 +978,8 @@
           emitCode("}");
         }
         emitCode("InChains.push_back(" + ChainName + ");");
-        emitCode(ChainName + " = CurDAG->getNode(ISD::TokenFactor, MVT::Other, "
+        emitCode(ChainName + " = CurDAG->getNode(ISD::TokenFactor, "
+                 "N.getDebugLoc(), MVT::Other, "
                  "&InChains[0], InChains.size());");
         if (GenDebug) {
           emitCode("CurDAG->setSubgraphColor(" + ChainName +".getNode(), \"yellow\");");
@@ -1395,6 +1396,7 @@
               }
               std::string Decl = (!ResNodeDecled) ? "SDNode *" : "";
               emitCode(Decl + "ResNode = CurDAG->getCopyToReg(" + ChainName +
+                       ", " + RootName + ".getDebugLoc()" +
                        ", " + getQualifiedName(RR) +
                        ", " +  RootName + utostr(OpNo) + ", InFlag).getNode();");
               ResNodeDecled = true;
@@ -1901,8 +1903,8 @@
      << "  std::vector<MVT> VTs;\n"
      << "  VTs.push_back(MVT::Other);\n"
      << "  VTs.push_back(MVT::Flag);\n"
-     << "  SDValue New = CurDAG->getNode(ISD::INLINEASM, VTs, &Ops[0], "
-                 "Ops.size());\n"
+     << "  SDValue New = CurDAG->getNode(ISD::INLINEASM, N.getDebugLoc(), "
+                 "VTs, &Ops[0], Ops.size());\n"
      << "  return New.getNode();\n"
      << "}\n\n";
 





More information about the llvm-commits mailing list