diff options
author | Haojie Wang <haojie0429@gmail.com> | 2017-07-21 17:25:20 +0000 |
---|---|---|
committer | Haojie Wang <haojie0429@gmail.com> | 2017-07-21 17:25:20 +0000 |
commit | 1dec57d5b0fb6b7044c9afa80e7c3b6295d36fd3 (patch) | |
tree | 03a9e8caa18a8e9bb8774b64d349e7a31d825a00 /llvm/test/Transforms/ThinLTOBitcodeWriter | |
parent | effbdf160496ec0a29c66ee50b2bc6b2d47cbc88 (diff) | |
download | bcm5719-llvm-1dec57d5b0fb6b7044c9afa80e7c3b6295d36fd3.tar.gz bcm5719-llvm-1dec57d5b0fb6b7044c9afa80e7c3b6295d36fd3.zip |
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
Diffstat (limited to 'llvm/test/Transforms/ThinLTOBitcodeWriter')
-rw-r--r-- | llvm/test/Transforms/ThinLTOBitcodeWriter/no-type-md.ll | 8 | ||||
-rw-r--r-- | llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll | 11 |
2 files changed, 0 insertions, 19 deletions
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} |