[all-commits] [llvm/llvm-project] 3b1663: [MachineOutliner] Sort by Benefit to Cost Ratio (#...
Xuan Zhang via All-commits
all-commits at lists.llvm.org
Fri Jun 7 06:50:35 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3b16630c26505060a876f578e4b2ba701c780e9a
https://github.com/llvm/llvm-project/commit/3b16630c26505060a876f578e4b2ba701c780e9a
Author: Xuan Zhang <144393379+xuanzh-meta at users.noreply.github.com>
Date: 2024-06-07 (Fri, 07 Jun 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOutliner.cpp
A llvm/test/CodeGen/AArch64/machine-outliner-sort-per-priority.ll
A llvm/test/CodeGen/AArch64/machine-outliner-sort-per-priority.mir
M llvm/test/CodeGen/ARM/machine-outliner-calls.mir
M llvm/test/CodeGen/ARM/machine-outliner-default.mir
M llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-arm.mir
M llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir
Log Message:
-----------
[MachineOutliner] Sort by Benefit to Cost Ratio (#90264)
This PR depends on https://github.com/llvm/llvm-project/pull/90260
We changed the order in which functions are outlined in Machine
Outliner.
The formula for priority is found via a black-box Bayesian optimization
toolbox. Using this formula for sorting consistently reduces the
uncompressed size of large real-world mobile apps. We also ran a few
benchmarks using LLVM test suites, and showed that sorting by priority
consistently reduces the text segment size.
|run (CTMark/) |baseline (1)|priority (2)|diff (1 -> 2)|
|----------------|------------|------------|-------------|
|lencod |349624 |349264 |-0.1030% |
|SPASS |219672 |219480 |-0.0874% |
|kc |271956 |251200 |-7.6321% |
|sqlite3 |223920 |223708 |-0.0947% |
|7zip-benchmark |405364 |402624 |-0.6759% |
|bullet |139820 |139500 |-0.2289% |
|consumer-typeset|295684 |290196 |-1.8560% |
|pairlocalalign |72236 |72092 |-0.1993% |
|tramp3d-v4 |189572 |189292 |-0.1477% |
This is part of an enhanced version of machine outliner -- see
[RFC](https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-1-fulllto-part-2-thinlto-nolto-to-come/78732).
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list