llvm.dbg.func_start also defines beginning of function scope.
authorDevang Patel <dpatel@apple.com>
Thu, 9 Apr 2009 21:42:11 +0000 (21:42 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 9 Apr 2009 21:42:11 +0000 (21:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68727 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/FastISel.cpp

index eefe8a2884ab59865d697b45dca9c31d9df7967a..e2d85f01b16657ed2ef374e2dca010a2a8b834c3 100644 (file)
@@ -370,17 +370,13 @@ bool FastISel::SelectCall(User *I) {
       unsigned SrcFile = DW->getOrCreateSourceID(CompileUnit.getDirectory(Dir),
                                                  CompileUnit.getFilename(FN));
 
-      // Record the source line but does not create a label for the normal
-      // function start. It will be emitted at asm emission time. However,
-      // create a label if this is a beginning of inlined function.
+      // Record the source line.
       unsigned Line = Subprogram.getLineNumber();
       unsigned LabelID = DW->RecordSourceLine(Line, 0, SrcFile);
       setCurDebugLoc(DebugLoc::get(MF.getOrCreateDebugLocID(SrcFile, Line, 0)));
 
-      if (DW->getRecordSourceLineCount() != 1) {
-        const TargetInstrDesc &II = TII.get(TargetInstrInfo::DBG_LABEL);
-        BuildMI(MBB, DL, II).addImm(LabelID);
-      }
+      // llvm.dbg.func_start also defines beginning of function scope.
+      DW->RecordRegionStart(cast<GlobalVariable>(FSI->getSubprogram()));
     }
 
     return true;