Enable -fwhole-program-vtables for clang builds
Categories
(Firefox Build System :: General, enhancement, P3)
Tracking
(Not tracked)
People
(Reporter: jewilde, Assigned: sergesanspaille)
References
Details
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
| Reporter | ||
Updated•7 years ago
|
| Reporter | ||
Updated•5 years ago
|
Updated•3 years ago
|
| Assignee | ||
Comment 3•3 years ago
|
||
Extra data points on that flag:
speedometer3 perf report: https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=283ab5ce9535aadfac03555a6724d20cc401026e&newProject=try&newRevision=7c3eac38d34956077116f0799da5247a2068bafa&page=1&framework=13
the flags itself is conservative (it only applies to types with hidden visibility, ) and using -fvisibility=hidden theoretically improves its impact (in addition to having a few extra positive side effects).
We currently don't active hidden visibility by default, that could be an interesting path to explore.
Comment 4•3 years ago
|
||
We currently don't active hidden visibility by default, that could be an interesting path to explore.
We do on mac, and on linux, we use a force include for mostly the same effect.
Comment 5•2 years ago
•
|
||
Looks like chromium uses this
https://bugs.chromium.org/p/chromium/issues/detail?id=580389
It might be worth to try this out again. sp3 has changed a lot since February and Gecko has been optimized significantly.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 6•2 years ago
|
||
Some feedback:
- In lto=full,cross mode, this requires the rustc flag
-Zsplit-lto-unitwhich is not available for the rust version we use to compile shippable,
but more importantly
- In lto=thin,cross mode, this compiles correctly but crashes at runtime (I've not investigated yet): https://treeherder.mozilla.org/jobs?repo=try&revision=90799496f8d56158ed48cc9ca3b426673d61197d&selectedTaskRun=H2khArGUQwm8SQLr2m3FLA.0
Description
•