[PATCH] D49405: Change the cap on the amount of padding for each vtable to 32-byte (previously it was 128-byte)
Zhaomo Yang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 18 17:04:53 PDT 2018
zhaomo updated this revision to Diff 156185.
zhaomo added a comment.
Added more information about the experiments in the comment.
https://reviews.llvm.org/D49405
Files:
llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Index: llvm/lib/Transforms/IPO/LowerTypeTests.cpp
===================================================================
--- llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+++ llvm/lib/Transforms/IPO/LowerTypeTests.cpp
@@ -771,10 +771,12 @@
// Compute the amount of padding required.
uint64_t Padding = NextPowerOf2(InitSize - 1) - InitSize;
- // Cap at 128 was found experimentally to have a good data/instruction
- // overhead tradeoff.
- if (Padding > 128)
- Padding = alignTo(InitSize, 128) - InitSize;
+ // Experiments of different caps with Chromium on both x64 and ARM64
+ // have shown that now the 32-byte cap generates the smallest binary on
+ // both platforms while different caps yield similar performance.
+ // (see https://lists.llvm.org/pipermail/llvm-dev/2018-July/124694.html)
+ if (Padding > 32)
+ Padding = alignTo(InitSize, 32) - InitSize;
GlobalInits.push_back(
ConstantAggregateZero::get(ArrayType::get(Int8Ty, Padding)));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49405.156185.patch
Type: text/x-patch
Size: 1003 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180719/94d57459/attachment.bin>
More information about the llvm-commits
mailing list