Index: lib/CodeGen/CodeGenAction.cpp =================================================================== --- lib/CodeGen/CodeGenAction.cpp +++ lib/CodeGen/CodeGenAction.cpp @@ -551,9 +551,12 @@ LinkModuleToUse = ModuleOrErr.get(); } + StringRef mainFileName = getCompilerInstance().getCodeGenOpts().MainFileName; + if (mainFileName.empty()) + mainFileName = InFile; BEConsumer = new BackendConsumer(BA, CI.getDiagnostics(), CI.getCodeGenOpts(), CI.getTargetOpts(), CI.getLangOpts(), - CI.getFrontendOpts().ShowTimers, InFile, + CI.getFrontendOpts().ShowTimers, mainFileName, LinkModuleToUse, OS.release(), *VMContext); return BEConsumer; } Index: test/Misc/main-file-name.c =================================================================== --- /dev/null +++ test/Misc/main-file-name.c @@ -0,0 +1,6 @@ +// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -o - %s -main-file-name some.name | FileCheck -check-prefix NAMED %s + +// CHECK: ; ModuleID = '{{.*}}main-file-name.c' +// NAMED: ; ModuleID = 'some.name' +