]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commitdiff
Debug Info: Don't bother emitting DW_AT_frame_base if the function has
authorAdrian Prantl <aprantl@apple.com>
Wed, 14 Jan 2015 00:15:16 +0000 (00:15 +0000)
committerAdrian Prantl <aprantl@apple.com>
Wed, 14 Jan 2015 00:15:16 +0000 (00:15 +0000)
no frame register. "Tested" via an assertion triggered by DwarfExpression.

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

lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp

index 6901d2290e27590fcc03554c684e4c9d170a6ee2..fe01980c812f71b68ee1305ec9ecad0fe99a57ed 100644 (file)
@@ -295,7 +295,8 @@ DIE &DwarfCompileUnit::updateSubprogramScopeDIE(DISubprogram SP) {
     const TargetRegisterInfo *RI =
         Asm->TM.getSubtargetImpl()->getRegisterInfo();
     MachineLocation Location(RI->getFrameRegister(*Asm->MF));
     const TargetRegisterInfo *RI =
         Asm->TM.getSubtargetImpl()->getRegisterInfo();
     MachineLocation Location(RI->getFrameRegister(*Asm->MF));
-    addAddress(*SPDie, dwarf::DW_AT_frame_base, Location);
+    if (RI->isPhysicalRegister(Location.getReg()))
+      addAddress(*SPDie, dwarf::DW_AT_frame_base, Location);
   }
 
   // Add name to the name table, we do this here because we're guaranteed
   }
 
   // Add name to the name table, we do this here because we're guaranteed