[CodeGen] Mark setjmp/catchret MBBs address-taken
[oota-llvm.git] / lib / CodeGen / AsmPrinter / AsmPrinter.cpp
index 52dbd5a9df4092d8fbc1cbdf310a2eb1bc2ff273..f073118fd00f83fd68c0bc28190c5f563abe5f27 100644 (file)
@@ -2480,8 +2480,11 @@ void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) const {
     if (isVerbose())
       OutStreamer->AddComment("Block address taken");
 
     if (isVerbose())
       OutStreamer->AddComment("Block address taken");
 
-    for (MCSymbol *Sym : MMI->getAddrLabelSymbolToEmit(BB))
-      OutStreamer->EmitLabel(Sym);
+    // MBBs can have their address taken as part of CodeGen without having
+    // their corresponding BB's address taken in IR
+    if (BB->hasAddressTaken())
+      for (MCSymbol *Sym : MMI->getAddrLabelSymbolToEmit(BB))
+        OutStreamer->EmitLabel(Sym);
   }
 
   // Print some verbose block comments.
   }
 
   // Print some verbose block comments.