Index: lib/CodeGen/BackendUtil.cpp =================================================================== --- lib/CodeGen/BackendUtil.cpp +++ lib/CodeGen/BackendUtil.cpp @@ -847,8 +847,6 @@ if (EmitLTOSummary) { if (!TheModule->getModuleFlag("ThinLTO")) TheModule->addModuleFlag(Module::Error, "ThinLTO", uint32_t(0)); - TheModule->addModuleFlag(Module::Error, "EnableSplitLTOUnit", - CodeGenOpts.EnableSplitLTOUnit); } PerModulePasses.add(createBitcodeWriterPass( Index: test/CodeGen/split-lto-unit.c =================================================================== --- /dev/null +++ test/CodeGen/split-lto-unit.c @@ -0,0 +1,13 @@ +// ; Check that -flto=thin without -fsplit-lto-unit has EnableSplitLTOUnit = 0 +// RUN: %clang_cc1 -flto=thin -emit-llvm-bc < %s | llvm-dis -o - | FileCheck %s +// CHECK: !{i32 1, !"EnableSplitLTOUnit", i32 0} +// +// ; Check that -flto=thin with -fsplit-lto-unit has EnableSplitLTOUnit = 1 +// RUN: %clang_cc1 -flto=thin -fsplit-lto-unit -emit-llvm-bc < %s | llvm-dis -o - | FileCheck %s --check-prefix=SPLIT +// SPLIT: !{i32 1, !"EnableSplitLTOUnit", i32 1} +// +// ; Check that regular LTO has no EnableSplitLTOUnit flag +// RUN: %clang_cc1 -flto -triple x86_64-pc-linux-gnu -emit-llvm-bc < %s | llvm-dis -o - | FileCheck %s --implicit-check-not="EnableSplitLTOUnit" --check-prefix=THINLTOOFF +// THINLTOOFF: !{i32 1, !"ThinLTO", i32 0} + +int main() {}