From 1dec57d5b0fb6b7044c9afa80e7c3b6295d36fd3 Mon Sep 17 00:00:00 2001 From: Haojie Wang Date: Fri, 21 Jul 2017 17:25:20 +0000 Subject: ThinLTO Minimized Bitcode File Size Reduction Summary: Currently the ThinLTO minimized bitcode file only strip the debug info, but there is still a lot of information in the minimized bit code file that will be not used for thin linker. In this patch, most of the extra information is striped to reduce the minimized bitcode file. Now only ModuleVersion, ModuleInfo, ModuleGlobalValueSummary, ModuleHash, Symtab and Strtab are left. Now the minimized bitcode file size is reduced to 15%-30% of the debug info stripped bitcode file size. Reviewers: danielcdh, tejohnson, pcc Reviewed By: pcc Subscribers: mehdi_amini, aprantl, inglorion, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D35334 llvm-svn: 308760 --- llvm/test/Transforms/ThinLTOBitcodeWriter/no-type-md.ll | 8 -------- llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll | 11 ----------- 2 files changed, 19 deletions(-) (limited to 'llvm/test/Transforms/ThinLTOBitcodeWriter') diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/no-type-md.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/no-type-md.ll index 753e07a326b..9b78ed8021c 100644 --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/no-type-md.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/no-type-md.ll @@ -2,7 +2,6 @@ ; the debug metadata for the thin link. ; RUN: opt -thinlto-bc -thin-link-bitcode-file=%t.thinlink.bc -o %t.bc %s ; RUN: llvm-dis -o - %t.bc | FileCheck %s -; RUN: llvm-dis -o - %t.thinlink.bc | FileCheck --check-prefix=NODEBUG %s ; RUN: llvm-bcanalyzer -dump %t.bc | FileCheck --check-prefix=BCA %s ; Make sure the combined index files produced by both the normal and the @@ -35,10 +34,3 @@ define void @f() { ret void } - -; CHECK: !llvm.dbg.cu -; NODEBUG-NOT: !llvm.dbg.cu -!llvm.dbg.cu = !{} - -!1 = !{i32 2, !"Debug Info Version", i32 3} -!llvm.module.flags = !{!1} diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll index 8bf3a18cd7f..08ed92e7ebe 100644 --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll @@ -8,8 +8,6 @@ ; RUN: not llvm-modextract -b -n 2 -o - %t 2>&1 | FileCheck --check-prefix=ERROR %s ; RUN: llvm-dis -o - %t0.bc | FileCheck --check-prefix=M0 %s ; RUN: llvm-dis -o - %t1.bc | FileCheck --check-prefix=M1 %s -; RUN: llvm-dis -o - %t0.thinlink.bc | FileCheck --check-prefix=NODEBUG %s -; RUN: llvm-dis -o - %t1.thinlink.bc | FileCheck --check-prefix=NODEBUG %s ; RUN: llvm-bcanalyzer -dump %t0.bc | FileCheck --check-prefix=BCA0 %s ; RUN: llvm-bcanalyzer -dump %t1.bc | FileCheck --check-prefix=BCA1 %s @@ -44,12 +42,3 @@ define i8* @f() { ; M1: !0 = !{i32 0, !"typeid"} !0 = !{i32 0, !"typeid"} - -; M0: !llvm.dbg.cu -; M1-NOT: !llvm.dbg.cu -; NODEBUG-NOT: !llvm.dbg.cu -!llvm.dbg.cu = !{} - -; M1: !{i32 1, !"ThinLTO", i32 0} -!1 = !{i32 2, !"Debug Info Version", i32 3} -!llvm.module.flags = !{!1} -- cgit v1.2.3