Use the existing begin and end symbol for debug info.
[oota-llvm.git] / lib / CodeGen / AsmPrinter / AsmPrinter.cpp
index 3721458d6995b759e09e2182112f63d3abf84dc2..0f9edf1d0e9998ee03268132b22425fb79d57502 100644 (file)
@@ -556,7 +556,7 @@ void AsmPrinter::EmitFunctionHeader() {
     OutStreamer.EmitLabel(DeadBlockSyms[i]);
   }
 
-  if (!MMI->getLandingPads().empty()) {
+  if (!MMI->getLandingPads().empty() || MMI->hasDebugInfo()) {
     CurrentFnBegin = createTempSymbol("func_begin", getFunctionNumber());
 
     if (MAI->useAssignmentForEHBegin()) {
@@ -882,7 +882,8 @@ void AsmPrinter::EmitFunctionBody() {
   // Emit target-specific gunk after the function body.
   EmitFunctionBodyEnd();
 
-  if (!MMI->getLandingPads().empty() || MAI->hasDotTypeDotSizeDirective()) {
+  if (!MMI->getLandingPads().empty() || MMI->hasDebugInfo() ||
+      MAI->hasDotTypeDotSizeDirective()) {
     // Create a symbol for the end of function.
     CurrentFnEnd = createTempSymbol("func_end", getFunctionNumber());
     OutStreamer.EmitLabel(CurrentFnEnd);