diff options
-rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 2 | ||||
-rw-r--r-- | clang/test/CodeGen/split-lto-unit.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 850b3db6213..b53d7a6ddfa 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -852,7 +852,7 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action, if (!TheModule->getModuleFlag("ThinLTO")) TheModule->addModuleFlag(Module::Error, "ThinLTO", uint32_t(0)); TheModule->addModuleFlag(Module::Error, "EnableSplitLTOUnit", - CodeGenOpts.EnableSplitLTOUnit); + uint32_t(1)); } PerModulePasses.add(createBitcodeWriterPass( diff --git a/clang/test/CodeGen/split-lto-unit.c b/clang/test/CodeGen/split-lto-unit.c new file mode 100644 index 00000000000..8e83ebaa6fb --- /dev/null +++ b/clang/test/CodeGen/split-lto-unit.c @@ -0,0 +1,12 @@ +// ; 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 EnableSplitLTOUnit = 1 +// 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=SPLIT + +int main() {} |