[PATCH] D27324: IPO: Introduce ThinLTOBitcodeWriter pass.
Peter Collingbourne via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 5 15:38:02 PST 2016
pcc added a comment.
Mehdi asked me to look at the cost of the split module design. To do that, I took my prototype [0] and made a change [1] to shrink the size of the regular LTO module. With that the total time spent in LTO::addRegularLTO and LTO::addThinLTO on my machine during a ThinLTO link of Chromium is:
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
6.1434 ( 58.6%) 0.2158 ( 36.2%) 6.3591 ( 57.4%) 6.1709 ( 55.6%) LTO::addRegularLTO
4.3320 ( 41.4%) 0.3805 ( 63.8%) 4.7125 ( 42.6%) 4.9269 ( 44.4%) LTO::addThinLTO
10.4754 (100.0%) 0.5963 (100.0%) 11.0717 (100.0%) 11.0978 (100.0%) Total
So that's about 6 seconds spent loading and linking all of Chromium's vtables, as compared to 5 seconds spent building the combined summary. If the figures were an order of magnitude off I'd be concerned, but these figures seem reasonable enough to me.
[0] https://github.com/pcc/llvm-project/tree/cfi-thinlto
[1] https://github.com/pcc/llvm-project/commit/de5bd8fe4c05c6e9aecf1e5384ef5553bf7332f0
https://reviews.llvm.org/D27324
More information about the llvm-commits
mailing list