Index: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp =================================================================== --- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -267,7 +267,7 @@ // don't, this at least helps the user find where a global came from. if (MAI->hasSingleParameterDotFile()) { // .file "foo.c" - OutStreamer->EmitFileDirective(M.getModuleIdentifier()); + OutStreamer->EmitFileDirective(M.getSourceFileName()); } GCModuleInfo *MI = getAnalysisIfAvailable(); Index: llvm/trunk/test/CodeGen/X86/file-source-filename.ll =================================================================== --- llvm/trunk/test/CodeGen/X86/file-source-filename.ll +++ llvm/trunk/test/CodeGen/X86/file-source-filename.ll @@ -0,0 +1,4 @@ +; RUN: llc -mtriple=x86_64-linux-gnu < %s | FileCheck %s +; CHECK: .file "foobar" + +source_filename = "foobar"