Index: llvm/lib/MC/MCParser/AsmParser.cpp
--- llvm/lib/MC/MCParser/AsmParser.cpp.orig
+++ llvm/lib/MC/MCParser/AsmParser.cpp
@@ -995,6 +995,10 @@ bool AsmParser::Run(bool NoInitialTextSection, bool No
     (void)InsertResult;
   }
 
+  StringRef Filename = getContext().getMainFileName();
+  if (!Filename.empty() && (Filename.compare(StringRef("-")) != 0))
+    Out.emitFileDirective(Filename);
+
   getTargetParser().onBeginOfFile();
 
   // While we have input, parse each statement.
